diff options
author | Tim Wiederhake <twiederh@redhat.com> | 2022-02-04 16:11:49 +0100 |
---|---|---|
committer | Tim Wiederhake <twiederh@redhat.com> | 2022-02-11 11:03:58 +0100 |
commit | 0a6ff46c9e4e5ba1964dac09aaf3730f012251bf (patch) | |
tree | 09499011de08c237f29911c11773a2561883f457 /src/ch | |
parent | 241c13a7e5d97d21e959893368176541f5138f1f (diff) | |
download | libvirt-0a6ff46c9e4e5ba1964dac09aaf3730f012251bf.tar.gz |
ch: Prepare virCHDriverGetCapabilities for automatic mutex management
No functional change intended. This change makes the refactoring to
automatic mutex management easier to follow.
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.c | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/src/ch/ch_conf.c b/src/ch/ch_conf.c index 88a23a59cd..f865d93681 100644 --- a/src/ch/ch_conf.c +++ b/src/ch/ch_conf.c @@ -87,21 +87,22 @@ virCaps *virCHDriverCapsInit(void) virCaps *virCHDriverGetCapabilities(virCHDriver *driver, bool refresh) { - virCaps *ret; - if (refresh) { - virCaps *caps = NULL; - if ((caps = virCHDriverCapsInit()) == NULL) - return NULL; + virCaps *ret = NULL; + virCaps *caps = NULL; - chDriverLock(driver); + if (refresh && !(caps = virCHDriverCapsInit())) + return NULL; + + chDriverLock(driver); + + if (refresh) { virObjectUnref(driver->caps); driver->caps = caps; - } else { - chDriverLock(driver); } ret = virObjectRef(driver->caps); chDriverUnlock(driver); + return ret; } |