Call pthread_cond_signal once per file. Signed-off-by: Noboru Asai <a...@sijam.com> --- lib/compress.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/lib/compress.c b/lib/compress.c index 7fef698..29307a1 100644 --- a/lib/compress.c +++ b/lib/compress.c @@ -1261,8 +1261,9 @@ void z_erofs_mt_workfn(struct erofs_work *work, void *tlsp) out: cwork->errcode = ret; pthread_mutex_lock(&ictx->mutex); - ++ictx->nfini; - pthread_cond_signal(&ictx->cond); + if (++ictx->nfini == ictx->seg_num) { + pthread_cond_signal(&ictx->cond); + } pthread_mutex_unlock(&ictx->mutex); } -- 2.44.0