From 6f3c0480b1e8405e623514cca4a7729a4243365f Mon Sep 17 00:00:00 2001 From: Tim Wiederhake Date: Fri, 4 Feb 2022 16:13:34 +0100 Subject: [PATCH] ch: Use automatic mutex management Signed-off-by: Tim Wiederhake Reviewed-by: Michal Privoznik --- src/ch/ch_conf.c | 20 ++++++++------------ src/ch/ch_conf.h | 10 ---------- 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); -}