diff --git a/briar_wrapper/models/socket_listener.py b/briar_wrapper/models/socket_listener.py index 64ec519b51bf2768d89857f002fa7aa5de842833..0850542e0e1bd51b66ae7b86b3afc7e613194f23 100644 --- a/briar_wrapper/models/socket_listener.py +++ b/briar_wrapper/models/socket_listener.py @@ -27,6 +27,11 @@ class SocketListener(): # pylint: disable=too-few-public-methods self._signals_lock.release() return signal_id + def disconnect(self, signal_id): + self._signals_lock.acquire() + self._remove_signal(signal_id) + self._signals_lock.release() + def _add_signal(self, event, callback): self._highest_signal_id += 1 signal_id = self._highest_signal_id @@ -36,6 +41,9 @@ class SocketListener(): # pylint: disable=too-few-public-methods } return signal_id + def _remove_signal(self, signal_id): + del self._signals[signal_id] + def _start_websocket_thread(self): websocket_thread = Thread(target=self._start_watch_loop, daemon=True)