From f9c863237fee3653ef625bec65a42c8027d7e9f0 Mon Sep 17 00:00:00 2001 From: Tim Wiederhake Date: Tue, 8 Feb 2022 14:53:06 +0100 Subject: [PATCH] vbox: Use automatic mutex management Signed-off-by: Tim Wiederhake Reviewed-by: Michal Privoznik --- src/vbox/vbox_common.c | 18 +++--------------- 1 file changed, 3 insertions(+), 15 deletions(-) diff --git a/src/vbox/vbox_common.c b/src/vbox/vbox_common.c index 40180b0dfd..36db6e06be 100644 --- a/src/vbox/vbox_common.c +++ b/src/vbox/vbox_common.c @@ -224,7 +224,7 @@ vboxSdkUninitialize(void) static struct _vboxDriver * vboxGetDriverConnection(void) { - virMutexLock(&vbox_driver_lock); + VIR_LOCK_GUARD lock = virLockGuardLock(&vbox_driver_lock); if (vbox_driver) { virObjectRef(vbox_driver); @@ -234,9 +234,6 @@ vboxGetDriverConnection(void) if (!vbox_driver) { virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("Failed to create vbox driver object.")); - - virMutexUnlock(&vbox_driver_lock); - return NULL; } } @@ -248,26 +245,20 @@ vboxGetDriverConnection(void) virObjectUnref(vbox_driver); if (vboxDriverDisposed) vbox_driver = NULL; - - virMutexUnlock(&vbox_driver_lock); - return NULL; } vbox_driver->connectionCount++; - - virMutexUnlock(&vbox_driver_lock); - return vbox_driver; } static void vboxDestroyDriverConnection(void) { - virMutexLock(&vbox_driver_lock); + VIR_LOCK_GUARD lock = virLockGuardLock(&vbox_driver_lock); if (!vbox_driver) - goto cleanup; + return; vbox_driver->connectionCount--; @@ -277,9 +268,6 @@ vboxDestroyDriverConnection(void) virObjectUnref(vbox_driver); if (vboxDriverDisposed) vbox_driver = NULL; - - cleanup: - virMutexUnlock(&vbox_driver_lock); } static int openSessionForMachine(struct _vboxDriver *data, const unsigned char *dom_uuid,