Fix a race condition
This commit is contained in:
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user