summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/server/channel.py8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/server/channel.py b/src/server/channel.py
index b5ee2b0..7cc0b3a 100644
--- a/src/server/channel.py
+++ b/src/server/channel.py
@@ -111,8 +111,12 @@ class Channel(_Channel, DBusProperties):
@dbus.service.method(CHANNEL_INTERFACE, in_signature='', out_signature='')
def Close(self):
self.Closed()
- self._chan_manager.remove_channel(self)
- self._conn.remove_channel(self)
+ try:
+ self._chan_manager.remove_channel(self)
+ self._conn.remove_channel(self)
+ self.remove_from_connection()
+ except:
+ pass
@dbus.service.method(CHANNEL_INTERFACE, in_signature='', out_signature='s')
def GetChannelType(self):