提交 2241582c 编写于 作者: D Daniel P. Berrange

Add APIs for virThreadPoolPtr to query some config params

It is desirable to be able to query the config params of
the thread pool, in order to save the server state. Add
virThreadPoolGetMinWorkers, virThreadPoolGetMaxWorkers
and virThreadPoolGetPriorityWorkers APIs.
Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
上级 ecf00158
......@@ -1086,6 +1086,9 @@ virSysinfoRead;
virThreadPoolFree;
virThreadPoolNew;
virThreadPoolSendJob;
virThreadPoolGetMinWorkers;
virThreadPoolGetMaxWorkers;
virThreadPoolGetPriorityWorkers;
# threads.h
......
......@@ -66,6 +66,7 @@ struct _virThreadPool {
virCond quit_cond;
size_t maxWorkers;
size_t minWorkers;
size_t freeWorkers;
size_t nWorkers;
virThreadPtr workers;
......@@ -188,7 +189,9 @@ virThreadPoolPtr virThreadPoolNew(size_t minWorkers,
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();
......@@ -277,6 +280,22 @@ void virThreadPoolFree(virThreadPoolPtr pool)
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
......
......@@ -39,6 +39,10 @@ virThreadPoolPtr virThreadPoolNew(size_t minWorkers,
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,
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册