self.lastrun = n * [0]
t, delay = self.next_cmd()
- if delay and self.suspend_pending:
- self.suspend_pending = False
- print "advance calls release"
- self.suspend_handle.release()
-
if delay:
log("Sleeping for %f seconds" % (delay/1000.0))
self.set_timeout(delay)
+ if self.suspend_pending:
+ # It is important that this comes after set_timeout
+ # as we might get an abort_timeout as a result of the
+ # release, and there needs to be a timeout to abort
+ self.suspend_pending = False
+ print "advance calls release"
+ self.suspend_handle.release()
else:
self.tasknum = t
self.state = {}