
On 04/12/2018 08:40 AM, Marc Hartmayer wrote:
The test driver state (@testDriver) uses it's own reference counting and locking implementation. Instead of doing that, convert @testDriver into a virObjectLockable and use the provided functionalities.
Signed-off-by: Marc Hartmayer <mhartmay@linux.vnet.ibm.com> Reviewed-by: Boris Fiuczynski <fiuczy@linux.vnet.ibm.com> --- src/test/test_driver.c | 200 ++++++++++++++++++++++--------------------------- 1 file changed, 90 insertions(+), 110 deletions(-)
diff --git a/src/test/test_driver.c b/src/test/test_driver.c index 856869c9d3a9..1a219316e7c5 100644 --- a/src/test/test_driver.c +++ b/src/test/test_driver.c @@ -94,7 +94,7 @@ typedef struct _testAuth testAuth; typedef struct _testAuth *testAuthPtr;
struct _testDriver { - virMutex lock; + virObjectLockable parent;
virNodeInfo nodeInfo; virInterfaceObjListPtr ifaces; @@ -126,9 +126,22 @@ typedef struct _testDriver testDriver; typedef testDriver *testDriverPtr;
static testDriverPtr defaultPrivconn; -static int defaultConnections; static virMutex defaultLock = VIR_MUTEX_INITIALIZER;
+static virClassPtr testDriverClass; +static void testDriverDispose(void *obj); +static int testDriverOnceInit(void) +{ + if (!(testDriverClass = virClassNew(virClassForObjectLockable(), + "testDriver", + sizeof(testDriver), + testDriverDispose)))
Probably posted/pushed after this posting, but commit id '10f94828' added a new VIR_CLASS_NEW definition and commit id '825bb9b8' required using it. Simple to change: if (!(VIR_CLASS_NEW(testDriver, virClassForObjectLockable()))) But figured you should know.
+ return -1; + + return 0; +} +VIR_ONCE_GLOBAL_INIT(testDriver) +
Reviewed-by: John Ferlan <jferlan@redhat.com> John