liblzma: Threaded decoder: Don't stop threads on LZMA_TIMED_OUT.

LZMA_TIMED_OUT is not an error and thus stopping threads on
LZMA_TIMED_OUT breaks the decoder badly.

Thanks to Jia Tan for finding the bug and for the patch.
This commit is contained in:
Lasse Collin 2022-03-23 16:28:55 +02:00
parent 6c6da57ae2
commit 487c77d487
1 changed files with 1 additions and 1 deletions

View File

@ -799,7 +799,7 @@ read_output_and_wait(struct lzma_stream_coder *coder,
// If we are returning an error, then the application cannot get // If we are returning an error, then the application cannot get
// more output from us and thus keeping the threads running is // more output from us and thus keeping the threads running is
// useless and waste of CPU time. // useless and waste of CPU time.
if (ret != LZMA_OK) if (ret != LZMA_OK && ret != LZMA_TIMED_OUT)
threads_stop(coder); threads_stop(coder);
return ret; return ret;