aboutsummaryrefslogtreecommitdiff
path: root/debug/sync_flush.c
diff options
context:
space:
mode:
authorLasse Collin <lasse.collin@tukaani.org>2022-03-26 01:02:44 +0200
committerLasse Collin <lasse.collin@tukaani.org>2022-03-26 01:15:32 +0200
commitbd93b776c1bd15e90661033c918cdeb354dbcc38 (patch)
tree89b59d166d2e154b6a9caca4689ac79665d8f5d8 /debug/sync_flush.c
parentUpdate THANKS. (diff)
downloadxz-bd93b776c1bd15e90661033c918cdeb354dbcc38.tar.xz
liblzma: Fix a deadlock in threaded decoder.
If a worker thread has consumed all input so far and it's waiting on thr->cond and then the main thread enables partial update for that thread, the code used to deadlock. This commit allows one dummy decoding pass to occur in this situation which then also does the partial update. As part of the fix, this moves thr->progress_* updates to avoid the second thr->mutex locking. Thanks to Jia Tan for finding, debugging, and reporting the bug.
Diffstat (limited to 'debug/sync_flush.c')
0 files changed, 0 insertions, 0 deletions