From 99b4663ce7047412b6fad550cb09356929db3d70 Mon Sep 17 00:00:00 2001 From: jesopo Date: Mon, 14 Oct 2019 14:51:53 +0100 Subject: run Control callbacks on main thread closes #180 --- src/IRCBot.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) (limited to 'src/IRCBot.py') diff --git a/src/IRCBot.py b/src/IRCBot.py index 348a2ea8..9e64ec57 100644 --- a/src/IRCBot.py +++ b/src/IRCBot.py @@ -358,7 +358,10 @@ class Bot(object): self._post_send_factory(server, lines)) self._event_queue.put(event_item) elif fd in poll_sources: - poll_sources[fd].is_writeable(fd) + def _trigger(source, fd): + print("write _trigger") + return lambda: source.is_writeable(fd) + self.trigger(_trigger(poll_sources[fd], fd)) def _read_loop(self): poll_sources = {} @@ -385,8 +388,10 @@ class Bot(object): self._rtrigger_server.recv(1024) self._rtriggered = False elif fd in poll_sources: - poll_sources[fd].is_readable(fd) - self.trigger_write() + def _trigger(source, fd): + print("read _trigger") + return lambda: source.is_readable(fd) + self.trigger(_trigger(poll_sources[fd], fd)) else: if not fd in self.servers: self._read_poll.unregister(fd) -- cgit v1.3.1-10-gc9f91