From 449b48f5cf15a168129c93b66639fd85c2000c1c Mon Sep 17 00:00:00 2001 From: ThomasV Date: Wed, 13 Jun 2012 15:45:10 +0400 Subject: [PATCH] threadsafe get_session --- backends/irc/__init__.py | 2 +- processor.py | 4 ++++ 2 files changed, 5 insertions(+), 1 deletions(-) diff --git a/backends/irc/__init__.py b/backends/irc/__init__.py index 3b698d8..200d19f 100644 --- a/backends/irc/__init__.py +++ b/backends/irc/__init__.py @@ -120,7 +120,7 @@ class ServerProcessor(Processor): "address":s.address, "version":s.version, "subscriptions":len(s.subscriptions)}, - self.dispatcher.request_dispatcher.sessions) + self.dispatcher.request_dispatcher.get_sessions()) else: print "unknown method", request diff --git a/processor.py b/processor.py index 20fdbfd..4cbaa85 100644 --- a/processor.py +++ b/processor.py @@ -143,6 +143,10 @@ class RequestDispatcher(threading.Thread): if method in ['server.version']: session.version = params[0] + def get_sessions(self): + with self.lock: + r = self.sessions[:] + return r def add_session(self, session): with self.lock: -- 1.7.1