Fix a race condition

This commit is contained in:
2026-01-05 12:02:27 +01:00
parent a3b92fcc72
commit de62f95f45

View File

@@ -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)