aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJanar Sööt <janar.soot@gmail.com>2018-12-20 20:56:41 +0200
committerKevin O'Connor <kevin@koconnor.net>2019-01-07 21:38:36 -0500
commit265769787f78baad46f84e584ec674c4bf12d877 (patch)
treef3d95e4a93a533afc968027715084b15cbdf426d
parente26d1a356708b3702c91a86ff37f3c5c615941c9 (diff)
downloadkutter-265769787f78baad46f84e584ec674c4bf12d877.tar.gz
kutter-265769787f78baad46f84e584ec674c4bf12d877.tar.xz
kutter-265769787f78baad46f84e584ec674c4bf12d877.zip
reactor: support for delayed callbacks
Signed-off-by: Janar Sööt <janar.soot@gmail.com>
-rw-r--r--klippy/reactor.py10
1 files changed, 5 insertions, 5 deletions
diff --git a/klippy/reactor.py b/klippy/reactor.py
index 76e7d65e..3c43f40a 100644
--- a/klippy/reactor.py
+++ b/klippy/reactor.py
@@ -13,9 +13,9 @@ class ReactorTimer:
self.waketime = waketime
class ReactorCallback:
- def __init__(self, reactor, callback):
+ def __init__(self, reactor, callback, waketime):
self.reactor = reactor
- self.timer = reactor.register_timer(self.invoke, reactor.NOW)
+ self.timer = reactor.register_timer(self.invoke, waketime)
self.callback = callback
def invoke(self, eventtime):
self.reactor.unregister_timer(self.timer)
@@ -88,8 +88,8 @@ class SelectReactor:
return 0.
return min(1., max(.001, self._next_timer - self.monotonic()))
# Callbacks
- def register_callback(self, callback):
- ReactorCallback(self, callback)
+ def register_callback(self, callback, waketime = NOW):
+ ReactorCallback(self, callback, waketime)
def register_async_callback(self, callback):
self._async_queue.put_nowait(callback)
try:
@@ -106,7 +106,7 @@ class SelectReactor:
callback = self._async_queue.get_nowait()
except Queue.Empty:
break
- ReactorCallback(self, callback)
+ ReactorCallback(self, callback, self.NOW)
def _setup_async_callbacks(self):
self._pipe_fds = os.pipe()
util.set_nonblock(self._pipe_fds[0])