diff options
| author | 2019-06-06 21:03:25 +0100 | |
|---|---|---|
| committer | 2019-06-06 21:03:25 +0100 | |
| commit | d9de4fdec23b9334125ce5461f3a3d00bb917b59 (patch) | |
| tree | d8336e70585c69380f0222fadae359fa97e2e2fe | |
| parent | call timer callbacks and expire cach objects on main thread (diff) | |
| signature | ||
Lambda scopes are irritating
| -rw-r--r-- | src/IRCBot.py | 11 |
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() |
