From 370fc9f47cf3f4a5a5cec3f2ef216f3bc91917db Mon Sep 17 00:00:00 2001 From: Tim Wiederhake Date: Fri, 4 Feb 2022 16:28:27 +0100 Subject: [PATCH] lxc: Prepare virLXCDriverGetCapabilities for automatic mutex management No functional change intended. This change makes the recfatoring to automatic mutex management easier to follow. Signed-off-by: Tim Wiederhake Reviewed-by: Michal Privoznik --- src/lxc/lxc_conf.c | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/src/lxc/lxc_conf.c b/src/lxc/lxc_conf.c index 8955578d54..cf6679711a 100644 --- a/src/lxc/lxc_conf.c +++ b/src/lxc/lxc_conf.c @@ -156,28 +156,28 @@ virCaps *virLXCDriverCapsInit(virLXCDriver *driver) virCaps *virLXCDriverGetCapabilities(virLXCDriver *driver, bool refresh) { - virCaps *ret; - if (refresh) { - virCaps *caps = NULL; - if ((caps = virLXCDriverCapsInit(driver)) == NULL) - return NULL; + virCaps *ret = NULL; + virCaps *caps = NULL; - lxcDriverLock(driver); + lxcDriverLock(driver); + if (!refresh && !driver->caps) { + VIR_DEBUG("Capabilities didn't detect any guests. Forcing a refresh."); + refresh = true; + } + lxcDriverUnlock(driver); + + if (refresh && !(caps = virLXCDriverCapsInit(driver))) + return NULL; + + lxcDriverLock(driver); + if (refresh) { virObjectUnref(driver->caps); driver->caps = caps; - } else { - lxcDriverLock(driver); - - if (driver->caps == NULL) { - VIR_DEBUG("Capabilities didn't detect any guests. Forcing a " - "refresh."); - lxcDriverUnlock(driver); - return virLXCDriverGetCapabilities(driver, true); - } } ret = virObjectRef(driver->caps); lxcDriverUnlock(driver); + return ret; }