On 10/26/2012 08:55 AM, Peter Krempa wrote:
When the assignment fails, the network object is not unlocked and
next
call that would use it deadlocks.
---
src/conf/network_conf.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/conf/network_conf.c b/src/conf/network_conf.c
index 93d1b4c..1955853 100644
--- a/src/conf/network_conf.c
+++ b/src/conf/network_conf.c
@@ -295,6 +295,7 @@ virNetworkAssignDef(virNetworkObjListPtr nets,
if ((network = virNetworkFindByName(nets, def->name))) {
if (virNetworkObjAssignDef(network, def, live) < 0) {
+ virNetworkObjUnlock(network);
return NULL;
}
return network;
ACK.