]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
Fix shutdown of LXC controller
authorDaniel P. Berrange <berrange@redhat.com>
Mon, 9 Jul 2012 13:55:31 +0000 (14:55 +0100)
committerDaniel P. Berrange <berrange@redhat.com>
Wed, 11 Jul 2012 13:46:24 +0000 (14:46 +0100)
Since we are not yet using the virNetServerPtr object for running
the event loop, we can't use virNetServerQuit(). Instead set the
global 'quit' flag in libvirt_lxc

src/lxc/lxc_controller.c

index a4874ea3e57cf7fba6fba7b08ae0a69987b1fc2e..7a1ce140d1efb01a6a1175adec4635b40868ebc2 100644 (file)
@@ -852,8 +852,11 @@ static void virLXCControllerSignalChildIO(virNetServerPtr server ATTRIBUTE_UNUSE
     int ret;
 
     ret = waitpid(-1, NULL, WNOHANG);
-    if (ret == ctrl->initpid)
-        virNetServerQuit(ctrl->server);
+    if (ret == ctrl->initpid) {
+        virMutexLock(&lock);
+        quit = true;
+        virMutexUnlock(&lock);
+    }
 }