summaryrefslogtreecommitdiff
path: root/src/ch
diff options
context:
space:
mode:
authorTim Wiederhake <twiederh@redhat.com>2022-02-04 16:11:49 +0100
committerTim Wiederhake <twiederh@redhat.com>2022-02-11 11:03:58 +0100
commit0a6ff46c9e4e5ba1964dac09aaf3730f012251bf (patch)
tree09499011de08c237f29911c11773a2561883f457 /src/ch
parent241c13a7e5d97d21e959893368176541f5138f1f (diff)
downloadlibvirt-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.c17
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;
}