threadpool: Use while loop on virCondWait

instead of simple 'if' statement as virCondWait can return
even if associated condition was not signaled.
This commit is contained in:
Michal Privoznik 2011-12-09 17:23:47 +01:00
parent 6c811ed486
commit a7adac3730

View File

@ -258,7 +258,7 @@ void virThreadPoolFree(virThreadPoolPtr pool)
virCondBroadcast(&pool->prioCond);
}
if (pool->nWorkers > 0 || pool->nPrioWorkers > 0)
while (pool->nWorkers > 0 || pool->nPrioWorkers > 0)
ignore_value(virCondWait(&pool->quit_cond, &pool->mutex));
while ((job = pool->jobList.head)) {