From de62f95f457c42f8a8c2e98aed91ac6a6a1cad70 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lukas=20F=C3=BCrderer?= Date: Mon, 5 Jan 2026 12:02:27 +0100 Subject: [PATCH] Fix a race condition --- observer.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/observer.py b/observer.py index 46d10c8..c25efa6 100644 --- a/observer.py +++ b/observer.py @@ -11,9 +11,10 @@ class Observer: self.__receivers_list[identifier].add(queue) return Subscription(self, identifier, queue) def publish(self, identifier, message): - if identifier in self.__receivers_list: - for queue in self.__receivers_list[identifier]: - queue.put(message) + with self.__lock: + if identifier in self.__receivers_list: + for queue in self.__receivers_list[identifier]: + queue.put(message) def quit(self, identifer, queue): with self.__lock: self.__receivers_list[identifer].remove(queue)