]> git.lizzy.rs Git - lua_async.git/blobdiff - intervals.lua
Merge branch 'master' of https://github.com/EliasFleckenstein03/lua_async
[lua_async.git] / intervals.lua
index 025454db2a0f6789561cd67d74a534016b4fa5f3..fa019f27099132742c09d9ed7c287711be66e06c 100644 (file)
@@ -1,3 +1,4 @@
+local unpack = unpack or table.unpack
 lua_async.intervals = {
        pool = {},
        executing = {},
@@ -23,10 +24,14 @@ function clearInterval(id)
 end
 
 function lua_async.intervals.step(dtime)
-       lua_async.intervals.executing = table.copy(lua_async.intervals.pool)
+       lua_async.intervals.executing = {}
+
+       for k, v in pairs(lua_async.intervals.pool) do
+               lua_async.intervals.executing[k] = v
+       end
 
        for id, interval in pairs(lua_async.intervals.executing) do
-               interval.time_left = timeout.time_left - dtime
+               interval.time_left = interval.time_left - dtime
 
                if interval.time_left <= 0 then
                        interval.callback(unpack(interval.args))