Merge pull request #19 from greatwolf/master

Fix CooperativeScheduler, issue #18;
This commit is contained in:
Bjorn Swenson 2017-05-07 23:11:53 -07:00 committed by GitHub
commit e5decf0ac8

View File

@ -62,14 +62,14 @@ function CooperativeScheduler:update(delta)
if self.currentTime >= task.due then
local success, delay = coroutine.resume(task.thread)
if success then
task.due = math.max(task.due + (delay or 0), self.currentTime)
else
error(delay)
end
if coroutine.status(task.thread) == 'dead' then
table.remove(self.tasks, i)
else
task.due = math.max(task.due + (delay or 0), self.currentTime)
end
if not success then
error(delay)
end
end
end