From e07ead79ac6e6897f5c6fa8d84a380ae99b028f8 Mon Sep 17 00:00:00 2001 From: MaZderMind <git@mazdermind.de> Date: Sun, 10 Jan 2016 11:19:44 +0100 Subject: always shedule on_loop/on_write on i/o to actively mitigate race-conditions, fixes #43 --- voctocore/lib/controlserver.py | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) (limited to 'voctocore/lib') diff --git a/voctocore/lib/controlserver.py b/voctocore/lib/controlserver.py index 2dc6e1c..016d20c 100644 --- a/voctocore/lib/controlserver.py +++ b/voctocore/lib/controlserver.py @@ -55,9 +55,8 @@ class ControlServer(TCPMultiConnection): self.close_connection(conn) return False - if self.command_queue.empty(): - self.log.debug('command_queue was empty, re-starting on_loop scheduling') - GObject.idle_add(self.on_loop) + self.log.debug('re-starting on_loop scheduling') + GObject.idle_add(self.on_loop) self.command_queue.put((line, conn)) @@ -135,9 +134,8 @@ class ControlServer(TCPMultiConnection): def _schedule_write(self, conn, message): queue = self.currentConnections[conn] - if queue.empty(): - self.log.debug('write_queue[%u] was empty, re-starting on_write scheduling', conn.fileno()) - GObject.io_add_watch(conn, GObject.IO_OUT, self.on_write) + self.log.debug('re-starting on_write scheduling', conn.fileno()) + GObject.io_add_watch(conn, GObject.IO_OUT, self.on_write) queue.put(message) -- cgit v1.2.3