]> xenbits.xensource.com Git - libvirt.git/commitdiff
ch: Use automatic mutex management
authorTim Wiederhake <twiederh@redhat.com>
Fri, 4 Feb 2022 15:13:34 +0000 (16:13 +0100)
committerTim Wiederhake <twiederh@redhat.com>
Fri, 11 Feb 2022 10:04:01 +0000 (11:04 +0100)
Signed-off-by: Tim Wiederhake <twiederh@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
src/ch/ch_conf.c
src/ch/ch_conf.h

index f865d93681727f26cdfbb23d804f3a3086b7b8cc..bae245adf32fdc1549266057c57069e26363c534 100644 (file)
@@ -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
index c56caa3f5ffe9d49c59862192297ec561f92eb61..b927621a97f72c3ca807942bcc18c14351d1d034 100644 (file)
@@ -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);
-}