summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/server/channel.py10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/server/channel.py b/src/server/channel.py
index eb9a560..a82cc43 100644
--- a/src/server/channel.py
+++ b/src/server/channel.py
@@ -101,9 +101,19 @@ class Channel(_Channel, DBusProperties):
@dbus.service.method(CHANNEL_INTERFACE, in_signature='', out_signature='')
def Close(self):
self.Closed()
+
+ # Do all these separately in case one works but another doesn't.
try:
self._chan_manager.remove_channel(self)
+ except:
+ pass
+
+ try:
self._conn.remove_channel(self)
+ except:
+ pass
+
+ try:
self.remove_from_connection()
except:
pass