From c25e5d1b62ed180c00244bf194d17558cc2465a9 Mon Sep 17 00:00:00 2001 From: Nico Alt <nicoalt@posteo.org> Date: Sun, 12 Apr 2020 13:00:01 +0000 Subject: [PATCH] Make it possible to disconnect from socket listener signals Related to https://code.briarproject.org/briar/briar-gtk/issues/44 and https://code.briarproject.org/briar/briar-gtk/issues/45. --- briar_wrapper/models/socket_listener.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/briar_wrapper/models/socket_listener.py b/briar_wrapper/models/socket_listener.py index 64ec519..0850542 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) -- GitLab