]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
Simplify some redundant locking while unref'ing objects
authorDaniel P. Berrange <berrange@redhat.com>
Mon, 24 Sep 2012 14:19:34 +0000 (15:19 +0100)
committerCole Robinson <crobinso@redhat.com>
Wed, 17 Oct 2012 20:41:24 +0000 (16:41 -0400)
There is no need to hold the mutex when unref'ing
virObject instances

Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
(cherry picked from commit 7307c3c00c8e6814a4d413d7dace684e55dea5f8)

src/conf/domain_conf.c
src/qemu/qemu_driver.c
src/rpc/virnetserver.c

index 4aa08d036f65a2ff74bfb5efeee5ed63d2ffa28a..0514540485ba26f05e4c0c91c187e4eaa9b326a2 100644 (file)
@@ -741,9 +741,7 @@ static void
 virDomainObjListDataFree(void *payload, const void *name ATTRIBUTE_UNUSED)
 {
     virDomainObjPtr obj = payload;
-    virDomainObjLock(obj);
-    if (virObjectUnref(obj))
-        virDomainObjUnlock(obj);
+    virObjectUnref(obj);
 }
 
 int virDomainObjListInit(virDomainObjListPtr doms)
index 684892452ad07ebd63bf1a41046fc5a88933eec3..e963ed384ac7839c2218651d718067db76c474ab 100644 (file)
@@ -3499,8 +3499,8 @@ endjob:
     ignore_value(qemuDomainObjEndAsyncJob(driver, wdEvent->vm));
 
 unlock:
-    if (virObjectUnref(wdEvent->vm))
-        virDomainObjUnlock(wdEvent->vm);
+    virDomainObjUnlock(wdEvent->vm);
+    virObjectUnref(wdEvent->vm);
     qemuDriverUnlock(driver);
     VIR_FREE(wdEvent);
 }
index 23493bd665d9c10d2c0228cfec012cf3a832615f..ae4ed46fb0666aa3b686e07bb7bffdc63862fd0e 100644 (file)
@@ -191,10 +191,7 @@ static void virNetServerHandleJob(void *jobOpaque, void *opaque)
     if (virNetServerProcessMsg(srv, job->client, job->prog, job->msg) < 0)
         goto error;
 
-    virNetServerLock(srv);
     virObjectUnref(job->prog);
-    virNetServerUnlock(srv);
-
     virObjectUnref(job->client);
     VIR_FREE(job);
     return;