[libvirt RFC PATCH] util: vireventglibwatch: watch for G_IO_HUP and G_IO_ERR

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



To more closely match the previous usage in virEventPollDispatchHandles,
where called the handle callback for any revents returned by poll.

This should fix the virtlogd error on subsequent domain startup:
  error: can't connect to virtlogd: Cannot open log file:
  '/var/log/libvirt/qemu/f28live.log': Device or resource busy
as well as virtlogd spinning caused by virLogHandlerDomainLogFileEvent
never being called on hangup.

Signed-off-by: Ján Tomko <jtomko@xxxxxxxxxx>
Fixes: f8ab47cb4491dd72d866c1a96a9d94b8c3341de9
Fixes: 946a25274c46ffff46323c62f567ae7e753aa921
---
 src/util/vireventglibwatch.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/util/vireventglibwatch.c b/src/util/vireventglibwatch.c
index 7694e74f23..178707f6b7 100644
--- a/src/util/vireventglibwatch.c
+++ b/src/util/vireventglibwatch.c
@@ -89,11 +89,11 @@ GSource *virEventGLibCreateSocketWatch(int fd,
                           sizeof(virEventGLibFDSource));
     ssource = (virEventGLibFDSource *)source;
 
-    ssource->condition = condition;
+    ssource->condition = condition | G_IO_HUP | G_IO_ERR;
     ssource->fd = fd;
 
     ssource->pollfd.fd = fd;
-    ssource->pollfd.events = condition;
+    ssource->pollfd.events = condition | G_IO_HUP | G_IO_ERR;
 
     g_source_add_poll(source, &ssource->pollfd);
 
-- 
2.24.1





[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]

  Powered by Linux