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)