mirror of
https://gitlab.uni-freiburg.de/opensourcevdi/virt-viewer
synced 2025-12-29 00:15:15 +00:00
The deletion of libvirt timeouts/watches is done in 2 steps: - the first step is synchronous and unregisters the timeout/watch from glib mainloop - the second step is asynchronous and triggered from the first step. It releases the memory used for bookkeeping for the timeout/watch being deleted This is done this way to avoid some possible deadlocks when reentering the sync callback while freeing the memory associated with the timeout/watch. However, it's possible to call gvir_event_update_handle after gvir_event_remove_handle but before _event_handle_remove does the final cleanup. When this happen, _update_handle will reregister the handle with glib mainloop, and bad things will happen when a glib callback is triggered for this event after _event_handle_remove has freed the memory associated with this handle watch. This commit marks the timeouts and watches as removed in the synchronous _remove callback and makes sure removed timeouts/watches are ignored in _update callbacks. Based on commit 3e73e0cee977fb20dd29db3ccfe85b00cc386c43 from libvirt-glib. Original author: Christophe Fergeau <cfergeau@redhat.com> Related to: rhbz#1243228 |
||
|---|---|---|
| build-aux | ||
| data | ||
| icons | ||
| m4 | ||
| man | ||
| po | ||
| src | ||
| .mailmap | ||
| acinclude.m4 | ||
| AUTHORS.in | ||
| autobuild.sh | ||
| autogen.sh | ||
| cfg.mk | ||
| ChangeLog | ||
| configure.ac | ||
| COPYING | ||
| git.mk | ||
| GNUmakefile | ||
| intltool-extract.in | ||
| intltool-merge.in | ||
| intltool-update.in | ||
| maint.mk | ||
| Makefile.am | ||
| mingw-virt-viewer.spec.in | ||
| NEWS | ||
| README | ||
| virt-viewer.spec.in | ||
Virt Viewer =========== Virt Viewer provides a graphical viewer for the guest OS display. At this time is supports guest OS using the VNC or SPICE protocols. Further protocols may be supported in the future as user demand dicatates. The viewer can connect directly to both local and remotely hosted guest OS, optionally using SSL/TLS encryption. Virt Viewer can be built with either GTK2 or GTK3, with the default option currently being GTK2. The choice can be made with: ./configure --with-gtk=3.0 (or =2.0) Virt Viewer uses the GTK-VNC (>= 0.4.3) widget to provide a display of the VNC protocol, which is available from http://gtk-vnc.sourceforge.net/ Virt Viewer uses the SPICE-GTK (>= 0.22) widget to provide a display of the SPICE protocol, which is available from: http://spice-space.org/page/Spice-Gtk Use of either SPICE-GTK or GTK-VNC can be disabled at time of configure, with --without-gtk-vnc or --without-spice-gtk respectively. Virt Viewer uses libvirt to lookup information about the guest OS display. This is available from http://libvirt.org/ Further information about the Virt Viewer application can be found on the Virt Manager website: http://virt-manager.org/ Feedback should be directed to the mailing list at http://virt-manager.org/mailinglist.html -- End