mirror of
https://github.com/libvirt/libvirt.git
synced 2025-02-25 18:55:26 -06:00
threadpool: Don't wait on condition if pool has no workers
Pool creates new workers dynamically. However, it is possible for a pool to have no workers. If we want to free that pool, we don't want to wait on quit condition as it will never be signaled.
This commit is contained in:
@@ -258,7 +258,8 @@ void virThreadPoolFree(virThreadPoolPtr pool)
|
||||
virCondBroadcast(&pool->prioCond);
|
||||
}
|
||||
|
||||
ignore_value(virCondWait(&pool->quit_cond, &pool->mutex));
|
||||
if (pool->nWorkers > 0 || pool->nPrioWorkers > 0)
|
||||
ignore_value(virCondWait(&pool->quit_cond, &pool->mutex));
|
||||
|
||||
while ((job = pool->jobList.head)) {
|
||||
pool->jobList.head = pool->jobList.head->next;
|
||||
|
||||
Reference in New Issue
Block a user