self.time = time.time() + delay
self.func = lambda: func(*args, **kwargs)
- def __cmp__(self, other):
- return cmp(self.time, other.time)
+ def __lt__(self, other):
+ return self.time < other.time
+
+ def __eq__(self, other):
+ return self.time == other.time
def __call__(self):
f = self.func
running = True
oldhandler = signal.signal(signal.SIGTERM, exit)
- if use_poll:
- if hasattr(select, 'poll'):
- poll_fun = asyncore.poll3
- else:
- poll_fun = asyncore.poll2
- else:
- poll_fun = asyncore.poll
-
while running:
now = time.time()
while tasks and tasks[0].time < now:
if tasks:
t = max(min(t, tasks[0].time - now), 0)
- poll_fun(timeout=t)
+ asyncore.poll2(timeout=t)
signal.signal(signal.SIGTERM, oldhandler)