some fixes, not totally fixed yet
[saartuer.git] / waker.py
index 9c2cf06c40dbae3fbd9d8fc5822a74abff6bb0d2..dc4627b3565d05882d8d1f4d6cb8a687aef01e08 100644 (file)
--- a/waker.py
+++ b/waker.py
@@ -7,13 +7,12 @@ SLEEP_TIME = 0.5
 ToBeWoken = namedtuple('ToBeWoken','f period time_since_call one_shot')
 
 class Waker():
-       def __init__(self, sm):
-               self._sm = sm
-               self._t = ThreadRepeater(self._wake, SLEEP_TIME, name="Waker")
+       def __init__(self):
                self._tobewokens = []
                self._tobewokens_lock = Lock()
+               self._t = ThreadRepeater(self._wake, SLEEP_TIME, name="Waker")
        
-       def register(f, time, one_shot = False):
+       def register(self, f, time, one_shot = False):
                '''Register a function which is called approximately every <time> seconds (or just once, if one_shot is True). f should return quickly, or it will delay the waker!'''
                time = max(time//SLEEP_TIME, 1)
                with self._tobewokens_lock: