summaryrefslogtreecommitdiff
path: root/src/ch
diff options
context:
space:
mode:
authorTim Wiederhake <twiederh@redhat.com>2022-02-04 16:13:34 +0100
committerTim Wiederhake <twiederh@redhat.com>2022-02-11 11:04:01 +0100
commit6f3c0480b1e8405e623514cca4a7729a4243365f (patch)
tree1a7228bbc2adb5a9501a3ebc4261ffc421228db6 /src/ch
parent0a6ff46c9e4e5ba1964dac09aaf3730f012251bf (diff)
downloadlibvirt-6f3c0480b1e8405e623514cca4a7729a4243365f.tar.gz
ch: Use automatic mutex management
Signed-off-by: Tim Wiederhake <twiederh@redhat.com> Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
Diffstat (limited to 'src/ch')
-rw-r--r--src/ch/ch_conf.c20
-rw-r--r--src/ch/ch_conf.h10
2 files changed, 8 insertions, 22 deletions
diff --git a/src/ch/ch_conf.c b/src/ch/ch_conf.c
index f865d93681..bae245adf3 100644
--- a/src/ch/ch_conf.c
+++ b/src/ch/ch_conf.c
@@ -93,16 +93,15 @@ virCaps *virCHDriverGetCapabilities(virCHDriver *driver,
if (refresh && !(caps = virCHDriverCapsInit()))
return NULL;
- chDriverLock(driver);
+ VIR_WITH_MUTEX_LOCK_GUARD(&driver->lock) {
+ if (refresh) {
+ virObjectUnref(driver->caps);
+ driver->caps = caps;
+ }
- if (refresh) {
- virObjectUnref(driver->caps);
- driver->caps = caps;
+ ret = virObjectRef(driver->caps);
}
- ret = virObjectRef(driver->caps);
- chDriverUnlock(driver);
-
return ret;
}
@@ -159,11 +158,8 @@ virCHDriverConfigNew(bool privileged)
virCHDriverConfig *virCHDriverGetConfig(virCHDriver *driver)
{
- virCHDriverConfig *cfg;
- chDriverLock(driver);
- cfg = virObjectRef(driver->config);
- chDriverUnlock(driver);
- return cfg;
+ VIR_LOCK_GUARD lock = virLockGuardLock(&driver->lock);
+ return virObjectRef(driver->config);
}
static void
diff --git a/src/ch/ch_conf.h b/src/ch/ch_conf.h
index c56caa3f5f..b927621a97 100644
--- a/src/ch/ch_conf.h
+++ b/src/ch/ch_conf.h
@@ -78,13 +78,3 @@ virDomainXMLOption *chDomainXMLConfInit(virCHDriver *driver);
virCHDriverConfig *virCHDriverConfigNew(bool privileged);
virCHDriverConfig *virCHDriverGetConfig(virCHDriver *driver);
int chExtractVersion(virCHDriver *driver);
-
-static inline void chDriverLock(virCHDriver *driver)
-{
- virMutexLock(&driver->lock);
-}
-
-static inline void chDriverUnlock(virCHDriver *driver)
-{
- virMutexUnlock(&driver->lock);
-}