Mercurial > xib
changeset 49:714e78fb912e
Tried to improve thread-safety during XMPP connection closing.
Signed-off-by: Charly COSTE <changaco@changaco.net>
author | Charly COSTE <changaco@changaco.net> |
---|---|
date | Tue, 25 Aug 2009 02:22:27 +0200 |
parents | cb08ea878db9 |
children | dbb7c29a71e2 |
files | bot.py |
diffstat | 1 files changed, 5 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/bot.py +++ b/bot.py @@ -77,9 +77,10 @@ class bot(Thread): if len(self.xmpp_connections) == 1: sleep(0.5) # avoid bot connection being locked all the time for c in self.xmpp_connections.itervalues(): - if hasattr(c, 'Process'): - c.lock.acquire() - c.Process(0.01) + c.lock.acquire() + if c in self.xmpp_connections.itervalues(): + if hasattr(c, 'Process'): + c.Process(0.01) c.lock.release() except RuntimeError: pass @@ -456,6 +457,7 @@ class bot(Thread): if c.used_by < 1: self.error('===> Debug: closing XMPP connection for "'+nickname+'"', debug=True) self.xmpp_connections.pop(nickname) + c.lock.release() del c else: c.lock.release()