Aquire lock for long poll
This commit is contained in:
1 parent
b65923b36d
commit
ed1ae6e81a
1 file changed
+4
@@ -165,6 +165,7 @@ class CoreNotifier(Notification):
|
|||||||
self.listeners.append((callback, last_id))
|
self.listeners.append((callback, last_id))
|
||||||
|
|
||||||
def removeListener(self, callback):
|
def removeListener(self, callback):
|
||||||
|
self.m_lock.aquire()
|
||||||
for list_tuple in self.listeners:
|
for list_tuple in self.listeners:
|
||||||
try:
|
try:
|
||||||
listener, last_id = list_tuple
|
listener, last_id = list_tuple
|
||||||
@@ -172,12 +173,15 @@ class CoreNotifier(Notification):
|
|||||||
self.listeners.remove(list_tuple)
|
self.listeners.remove(list_tuple)
|
||||||
except:
|
except:
|
||||||
pass
|
pass
|
||||||
|
self.m_lock.release()
|
||||||
|
|
||||||
def cleanMessages(self):
|
def cleanMessages(self):
|
||||||
|
|
||||||
|
self.m_lock.aquire()
|
||||||
for message in self.messages:
|
for message in self.messages:
|
||||||
if message['time'] < (time.time() - 15):
|
if message['time'] < (time.time() - 15):
|
||||||
self.messages.remove(message)
|
self.messages.remove(message)
|
||||||
|
self.m_lock.release()
|
||||||
|
|
||||||
def getMessages(self, last_id):
|
def getMessages(self, last_id):
|
||||||
self.m_lock.acquire()
|
self.m_lock.acquire()
|
||||||
|
|||||||
Reference in new issue
Block a user