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(a)linux.vnet.ibm.com>
Reviewed-by: Boris Fiuczynski <fiuczy(a)linux.vnet.ibm.com>
---
src/test/test_driver.c | 61 +++++++++++++++++++++++++++++---------------------
1 file changed, 35 insertions(+), 26 deletions(-)
diff --git a/src/test/test_driver.c b/src/test/test_driver.c
index d450be21704e..fca607f57d51 100644
--- a/src/test/test_driver.c
+++ b/src/test/test_driver.c
@@ -1429,10 +1429,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;
@@ -1473,33 +1499,16 @@ static virDrvOpenStatus testConnectOpen(virConnectPtr conn,
return VIR_DRV_OPEN_SUCCESS;
}
-static int testConnectClose(virConnectPtr conn)
+
+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);
- }
-
+ testDriverCloseInternal(conn->privateData);
conn->privateData = NULL;
return 0;
}
+
static int testConnectGetVersion(virConnectPtr conn ATTRIBUTE_UNUSED,
unsigned long *hvVer)
{
--
2.13.4