scheduler: fix error when ended task has been already removed

This commit is contained in:
Romain Bignon 2010-11-13 01:44:09 +01:00
commit e1196bc30a

View file

@ -82,8 +82,12 @@ class Scheduler(IScheduler):
def _repeat_callback(self, count, interval, function, args):
function(*args)
with self.mutex:
e = self.queue[count]
self.logger.debug('function "%s" will be called in %s seconds' % (function.__name__, e.interval))
try:
e = self.queue[count]
except KeyError:
return
else:
self.logger.debug('function "%s" will be called in %s seconds' % (function.__name__, e.interval))
def cancel(self, ev):
with self.mutex: