[libvirt] [PATCH] Fix regression from "Avoid polling on FDs with no events"

Chris Lalancette clalance at redhat.com
Thu Sep 10 09:50:36 UTC 2009


After the mentioned patch was applied, I noticed that
shutting down a kvm guest from inside (i.e. poweroff) caused
the guest to shutdown, but not removed from the list of
active guests.  DanB pointed out that the problem is that
the virEventAddHandle() call in the qemu driver was asking
to watch for 0 events, not HANGUP | ERROR as it should.  Add
these events so that shutdown works again.

Signed-off-by: Chris Lalancette <clalance at redhat.com>
---
 src/qemu_driver.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/src/qemu_driver.c b/src/qemu_driver.c
index 683fe20..996bfff 100644
--- a/src/qemu_driver.c
+++ b/src/qemu_driver.c
@@ -979,7 +979,8 @@ qemudOpenMonitorCommon(virConnectPtr conn,
     if (ret != 0)
         return ret;
 
-    if ((vm->monitorWatch = virEventAddHandle(vm->monitor, 0,
+    if ((vm->monitorWatch = virEventAddHandle(vm->monitor,
+                                              VIR_EVENT_HANDLE_HANGUP | VIR_EVENT_HANDLE_ERROR,
                                               qemudDispatchVMEvent,
                                               driver, NULL)) < 0)
         return -1;
-- 
1.6.0.6




More information about the libvir-list mailing list