virCond quit_cond;
size_t maxWorkers;
+ size_t minWorkers;
size_t freeWorkers;
size_t nWorkers;
virThreadPtr workers;
if (VIR_ALLOC_N(pool->workers, minWorkers) < 0)
goto error;
+ pool->minWorkers = minWorkers;
pool->maxWorkers = maxWorkers;
+
for (i = 0; i < minWorkers; i++) {
if (VIR_ALLOC(data) < 0) {
virReportOOMError();
VIR_FREE(pool);
}
+
+size_t virThreadPoolGetMinWorkers(virThreadPoolPtr pool)
+{
+ return pool->minWorkers;
+}
+
+size_t virThreadPoolGetMaxWorkers(virThreadPoolPtr pool)
+{
+ return pool->maxWorkers;
+}
+
+size_t virThreadPoolGetPriorityWorkers(virThreadPoolPtr pool)
+{
+ return pool->nPrioWorkers;
+}
+
/*
* @priority - job priority
* Return: 0 on success, -1 otherwise
virThreadPoolJobFunc func,
void *opaque) ATTRIBUTE_NONNULL(4);
+size_t virThreadPoolGetMinWorkers(virThreadPoolPtr pool);
+size_t virThreadPoolGetMaxWorkers(virThreadPoolPtr pool);
+size_t virThreadPoolGetPriorityWorkers(virThreadPoolPtr pool);
+
void virThreadPoolFree(virThreadPoolPtr pool);
int virThreadPoolSendJob(virThreadPoolPtr pool,