In order to fix rhbz#1243228, I am backporting a few fixes from libvirt-glib/libvirt-glib-events.c to virt-viewer, as the events file used for boths should be the same. All patches have a reference for the relevant commit in the libvirt-glib and the name of the original author. These patches were already tested by the reporter of rhbz#1243228. It's important to note that, even that libvirt-glib mainloop implementation has been proven mature enough, we don't want to depend on it (as Christophe pointed out, it would be a new dependency not available in EL6), at least not for now. Fabiano Fidêncio (13): events: ensure event callbacks are threadsafe events: register event using GOnce to avoid multiple initializations events: remove timeout and handle from arrays glib-compat: group definitions and functions glib-compat: Use g_new0(GMutex, 1) if GLib >= 2.31 events: allow zero timeouts for timer events: remove unused virt_viewer_events_find_{handle,timeout} arg events: protect 'handles' and 'timeouts' against concurrent accesses events: don't reschedule deleted timeouts/watches events: don't hold events lock when dispatching free callbacks events: don't create glib IO watch for disabled handles events: allow to remove disabled timers and handles events: don't leak GIOChannel when destroying IO handle src/virt-glib-compat.h | 6 +- src/virt-viewer-events.c | 205 ++++++++++++++++++++++++++++++++++------------- 2 files changed, 154 insertions(+), 57 deletions(-) -- 2.4.4 _______________________________________________ virt-tools-list mailing list virt-tools-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/virt-tools-list