4 core.register_globalstep(function(dtime)
11 -- Iterate backwards so that we miss any new timers added by
12 -- a timer callback, and so that we don't skip the next timer
13 -- in the list if we remove one.
14 for i = #jobs, 1, -1 do
16 if time >= job.expire then
17 core.set_last_run_mod(job.mod_origin)
18 job.func(unpack(job.arg))
24 function core.after(after, func, ...)
25 assert(tonumber(after) and type(func) == "function",
26 "Invalid core.after invocation")
29 expire = time + after,
31 mod_origin = core.get_last_run_mod()