aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar jesopo2019-06-06 21:03:25 +0100
committerGravatar jesopo2019-06-06 21:03:25 +0100
commitd9de4fdec23b9334125ce5461f3a3d00bb917b59 (patch)
treed8336e70585c69380f0222fadae359fa97e2e2fe
parentcall timer callbacks and expire cach objects on main thread (diff)
signature
Lambda scopes are irritating
-rw-r--r--src/IRCBot.py11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/IRCBot.py b/src/IRCBot.py
index 8b6d19b1..ffa6ad97 100644
--- a/src/IRCBot.py
+++ b/src/IRCBot.py
@@ -248,6 +248,11 @@ class Bot(object):
item = self._event_queue.get(block=True, timeout=None)
item()
+ def _post_send_factory(self, server, lines):
+ return lambda: server._post_send(lines)
+ def _post_read_factory(self, server, lines):
+ return lambda: server._post_read(lines)
+
def _write_loop(self):
while self.running:
if not self.servers:
@@ -273,7 +278,8 @@ class Bot(object):
except:
self.log.error("Failed to write to %s", [str(server)])
raise
- self._event_queue.put(lambda: server._post_send(lines))
+ self._event_queue.put(self._post_send_factory(server,
+ lines))
def _read_loop(self):
while self.running:
@@ -310,7 +316,8 @@ class Bot(object):
server.disconnect()
continue
- self._event_queue.put(lambda: server._post_read(lines))
+ self._event_queue.put(self._post_read_factory(server,
+ lines))
elif event & select.EPOLLHUP:
self.log.warn("Recieved EPOLLHUP for %s", [str(server)])
server.disconnect()