]> xenbits.xensource.com Git - people/liuw/libxenctrl-split/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)
committerDaniel P. Berrange <berrange@redhat.com>
Wed, 26 Sep 2012 09:09:58 +0000 (10:09 +0100)
There is no need to hold the mutex when unref'ing
virObject instances

Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
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 226d499418ae92772556ba963be02ea3bc4e817a..7ac53aca4d1061659eef3e8557a327adb4ac0744 100644 (file)
@@ -3556,8 +3556,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;