]> xenbits.xensource.com Git - libvirt.git/commitdiff
admin: Remove unnecessary @conn object locking
authorErik Skultety <eskultet@redhat.com>
Thu, 10 Nov 2016 12:32:41 +0000 (13:32 +0100)
committerErik Skultety <eskultet@redhat.com>
Mon, 14 Nov 2016 09:18:56 +0000 (10:18 +0100)
The only place we change the @conn object is actually virAdmConnectOpen
routine, thus at the moment we don't really need to lock it, given the fact that
what we're trying to do here is to change the closeCallback object which is a
lockable object itself, so that should be enough to avoid races.

Signed-off-by: Erik Skultety <eskultet@redhat.com>
src/libvirt-admin.c

index 88eef54a22d23cb395a6c1ba7f9393d9a7e27e3a..1b5fd443d68795fde48debbf4cba7415331d759a 100644 (file)
@@ -465,7 +465,6 @@ int virAdmConnectRegisterCloseCallback(virAdmConnectPtr conn,
 
     virObjectRef(conn);
 
-    virObjectLock(conn);
     virObjectLock(conn->closeCallback);
 
     virCheckNonNullArgGoto(cb, error);
@@ -482,13 +481,11 @@ int virAdmConnectRegisterCloseCallback(virAdmConnectPtr conn,
     conn->closeCallback->freeCallback = freecb;
 
     virObjectUnlock(conn->closeCallback);
-    virObjectUnlock(conn);
 
     return 0;
 
  error:
     virObjectUnlock(conn->closeCallback);
-    virObjectUnlock(conn);
     virDispatchError(NULL);
     virObjectUnref(conn);
     return -1;
@@ -517,7 +514,6 @@ int virAdmConnectUnregisterCloseCallback(virAdmConnectPtr conn,
 
     virCheckAdmConnectReturn(conn, -1);
 
-    virObjectLock(conn);
     virObjectLock(conn->closeCallback);
 
     virCheckNonNullArgGoto(cb, error);
@@ -534,14 +530,12 @@ int virAdmConnectUnregisterCloseCallback(virAdmConnectPtr conn,
     conn->closeCallback->freeCallback = NULL;
 
     virObjectUnlock(conn->closeCallback);
-    virObjectUnlock(conn);
     virObjectUnref(conn);
 
     return 0;
 
  error:
     virObjectUnlock(conn->closeCallback);
-    virObjectUnlock(conn);
     virDispatchError(NULL);
     return -1;
 }