mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-01-21 22:03:49 +03:00
util: Use a mutex when retrieving threadpool data
So far, the values the affected getters retrieve are static, i.e. there's no way of changing them during runtime. But admin interface will later enable not only getting but changing them as well. So to prevent phenomenons like torn reads or concurrent reads and writes of unaligned values, use mutual exclusion when getting these values (writes do, understandably, use them already). Signed-off-by: Erik Skultety <eskultet@redhat.com>
This commit is contained in:
parent
7968517593
commit
e981607e4a
@ -286,17 +286,35 @@ void virThreadPoolFree(virThreadPoolPtr pool)
|
||||
|
||||
size_t virThreadPoolGetMinWorkers(virThreadPoolPtr pool)
|
||||
{
|
||||
return pool->minWorkers;
|
||||
size_t ret;
|
||||
|
||||
virMutexLock(&pool->mutex);
|
||||
ret = pool->minWorkers;
|
||||
virMutexUnlock(&pool->mutex);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
size_t virThreadPoolGetMaxWorkers(virThreadPoolPtr pool)
|
||||
{
|
||||
return pool->maxWorkers;
|
||||
size_t ret;
|
||||
|
||||
virMutexLock(&pool->mutex);
|
||||
ret = pool->maxWorkers;
|
||||
virMutexUnlock(&pool->mutex);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
size_t virThreadPoolGetPriorityWorkers(virThreadPoolPtr pool)
|
||||
{
|
||||
return pool->nPrioWorkers;
|
||||
size_t ret;
|
||||
|
||||
virMutexLock(&pool->mutex);
|
||||
ret = pool->nPrioWorkers;
|
||||
virMutexUnlock(&pool->mutex);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
/*
|
||||
|
Loading…
x
Reference in New Issue
Block a user