]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
test: introduce testDriverCloseInternal
authorMarc Hartmayer <mhartmay@linux.vnet.ibm.com>
Thu, 8 Mar 2018 12:20:34 +0000 (13:20 +0100)
committerJohn Ferlan <jferlan@redhat.com>
Thu, 15 Mar 2018 21:12:28 +0000 (17:12 -0400)
Refactor testConnectClose as it's then obvious that conn->privateData
is set to NULL in all cases. In addition, 'testConnectCloseInternal'
can be better reused.

Signed-off-by: Marc Hartmayer <mhartmay@linux.vnet.ibm.com>
Reviewed-by: Boris Fiuczynski <fiuczy@linux.vnet.ibm.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
src/test/test_driver.c

index 58878b349adbf6a1d4eb71281996acab718d954f..c3cb6cdd345789c9e1601d7d00e58d46b0a0872a 100644 (file)
@@ -1419,10 +1419,36 @@ testConnectAuthenticate(virConnectPtr conn,
     return ret;
 }
 
-static virDrvOpenStatus testConnectOpen(virConnectPtr conn,
-                                        virConnectAuthPtr auth,
-                                        virConfPtr conf ATTRIBUTE_UNUSED,
-                                        unsigned int flags)
+
+static void
+testDriverCloseInternal(testDriverPtr driver)
+{
+    bool dflt = false;
+
+    if (driver == defaultPrivconn) {
+        dflt = true;
+        virMutexLock(&defaultLock);
+        if (--defaultConnections) {
+            virMutexUnlock(&defaultLock);
+            return;
+        }
+    }
+
+    testDriverLock(driver);
+    testDriverFree(driver);
+
+    if (dflt) {
+        defaultPrivconn = NULL;
+        virMutexUnlock(&defaultLock);
+    }
+}
+
+
+static virDrvOpenStatus
+testConnectOpen(virConnectPtr conn,
+                virConnectAuthPtr auth,
+                virConfPtr conf ATTRIBUTE_UNUSED,
+                unsigned int flags)
 {
     int ret;
 
@@ -1463,33 +1489,16 @@ static virDrvOpenStatus testConnectOpen(virConnectPtr conn,
     return VIR_DRV_OPEN_SUCCESS;
 }
 
-static int testConnectClose(virConnectPtr conn)
-{
-    testDriverPtr privconn = conn->privateData;
-    bool dflt = false;
-
-    if (privconn == defaultPrivconn) {
-        dflt = true;
-        virMutexLock(&defaultLock);
-        if (--defaultConnections) {
-            conn->privateData = NULL;
-            virMutexUnlock(&defaultLock);
-            return 0;
-        }
-    }
-
-    testDriverLock(privconn);
-    testDriverFree(privconn);
-
-    if (dflt) {
-        defaultPrivconn = NULL;
-        virMutexUnlock(&defaultLock);
-    }
 
+static int
+testConnectClose(virConnectPtr conn)
+{
+    testDriverCloseInternal(conn->privateData);
     conn->privateData = NULL;
     return 0;
 }
 
+
 static int testConnectGetVersion(virConnectPtr conn ATTRIBUTE_UNUSED,
                                  unsigned long *hvVer)
 {