data->cond = &pool->cond;
if (virThreadCreateFull(&pool->workers[i],
- true,
+ false,
virThreadPoolWorker,
pool->jobFuncName,
true,
data->priority = true;
if (virThreadCreateFull(&pool->prioWorkers[i],
- true,
+ false,
virThreadPoolWorker,
pool->jobFuncName,
true,
{
virThreadPoolJobPtr job;
bool priority = false;
- size_t i;
- size_t nWorkers;
- size_t nPrioWorkers;
if (!pool)
return;
virMutexLock(&pool->mutex);
- nWorkers = pool->nWorkers;
- nPrioWorkers = pool->nPrioWorkers;
pool->quit = true;
if (pool->nWorkers > 0)
virCondBroadcast(&pool->cond);
VIR_FREE(job);
}
- for (i = 0; i < nWorkers; i++)
- virThreadJoin(&pool->workers[i]);
-
- for (i = 0; i < nPrioWorkers; i++)
- virThreadJoin(&pool->prioWorkers[i]);
-
VIR_FREE(pool->workers);
virMutexUnlock(&pool->mutex);
virMutexDestroy(&pool->mutex);
data->cond = &pool->cond;
if (virThreadCreateFull(&pool->workers[pool->nWorkers - 1],
- true,
+ false,
virThreadPoolWorker,
pool->jobFuncName,
true,