From babca4374da12f4501a6e639e3f67afa0e6a30dc Mon Sep 17 00:00:00 2001 From: DevilXD Date: Mon, 14 Feb 2022 22:47:22 +0100 Subject: [PATCH] Move the topics changed flag clear to the top; to avoid a possible race condition with multiple adds and removals at the same time --- websocket.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/websocket.py b/websocket.py index 73d3893..56af13c 100644 --- a/websocket.py +++ b/websocket.py @@ -173,6 +173,7 @@ class Websocket: if not self._topics_changed.is_set(): # nothing to do return + self._topics_changed.clear() current: Set[WebsocketTopic] = set(self.topics.values()) # handle removed topics removed = self._submitted.difference(current) @@ -204,7 +205,6 @@ class Websocket: } ) self._submitted.update(added) - self._topics_changed.clear() async def _gather_recv(self, messages: List[JsonType]): """