6786659bca
531db6a7-new-volume-tooltip-logic.patch 531dbfa7-handle-errors-when-deregistering-events-on-close.patch - Upstream bug fixes 5318a2cd-cpu-model-fallback-failure-fix.patch 5318a626-adding-filesystem-device-fix.patch 5318aa88-invalid-libvirt-volume-XML.patch 5318b486-virtinstall-location-iso-fix.patch 5319db07-customize-add-disk-fix.patch - Allow the installation repos provided by zypper to be selected as network installation sources virtman-show-suse-install-repos.patch OBS-URL: https://build.opensuse.org/package/show/Virtualization/virt-manager?expand=0&rev=148
49 lines
1.9 KiB
Diff
49 lines
1.9 KiB
Diff
Subject: connection: Handle errors when deregistering events on close (bz 1069351)
|
|
From: Cole Robinson crobinso@redhat.com Mon Mar 10 09:33:04 2014 -0400
|
|
Date: Mon Mar 10 09:35:35 2014 -0400:
|
|
Git: 081e34715ffa5a210e1e0c8670fe3a1a3ec5180b
|
|
|
|
Otherwise this interrupts the close/cleanup routine, and the connection
|
|
never appears to disconnect in the UI. This causes error dialog spamming
|
|
when libvirtd goes down.
|
|
|
|
diff --git a/virtManager/connection.py b/virtManager/connection.py
|
|
index 57e143d..4c034b8 100644
|
|
--- a/virtManager/connection.py
|
|
+++ b/virtManager/connection.py
|
|
@@ -929,16 +929,25 @@ class vmmConnection(vmmGObject):
|
|
def close(self):
|
|
def cleanup(devs):
|
|
for dev in devs.values():
|
|
- dev.cleanup()
|
|
-
|
|
- if not self._backend.is_closed():
|
|
- if self._domain_cb_id is not None:
|
|
- self._backend.domainEventDeregisterAny(self._domain_cb_id)
|
|
- self._domain_cb_id = None
|
|
+ try:
|
|
+ dev.cleanup()
|
|
+ except:
|
|
+ logging.debug("Failed to cleanup %s", exc_info=True)
|
|
|
|
- if self._network_cb_id is not None:
|
|
- self._backend.networkEventDeregisterAny(self._network_cb_id)
|
|
- self._network_cb_id = None
|
|
+ try:
|
|
+ if not self._backend.is_closed():
|
|
+ if self._domain_cb_id is not None:
|
|
+ self._backend.domainEventDeregisterAny(
|
|
+ self._domain_cb_id)
|
|
+ self._domain_cb_id = None
|
|
+
|
|
+ if self._network_cb_id is not None:
|
|
+ self._backend.networkEventDeregisterAny(
|
|
+ self._network_cb_id)
|
|
+ self._network_cb_id = None
|
|
+ except:
|
|
+ logging.debug("Failed to deregister events in conn cleanup",
|
|
+ exc_info=True)
|
|
|
|
self._backend.close()
|
|
self.record = []
|