aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--net/server_epoll.lua9
1 files changed, 3 insertions, 6 deletions
diff --git a/net/server_epoll.lua b/net/server_epoll.lua
index b7a11e8b..f65be224 100644
--- a/net/server_epoll.lua
+++ b/net/server_epoll.lua
@@ -87,21 +87,19 @@ local timers = indexedbheap.create();
local function noop() end
local function closetimer(t)
- t[1] = 0;
- t[2] = noop;
+ t[1] = noop;
timers:remove(t.id);
end
local function reschedule(t, time)
time = monotonic() + time;
- t[1] = time;
timers:reprioritize(t.id, time);
end
-- Add relative timer
local function addtimer(timeout, f, param)
local time = monotonic() + timeout;
- local timer = { time, f, param, close = closetimer, reschedule = reschedule, id = nil };
+ local timer = { f, param, close = closetimer, reschedule = reschedule, id = nil };
timer.id = timers:insert(timer, time);
return timer;
end
@@ -121,10 +119,9 @@ local function runtimers(next_delay, min_wait)
end
local _, timer = timers:pop();
- local ok, ret = pcall(timer[2], now, timer, timer[3]);
+ local ok, ret = pcall(timer[1], now, timer, timer[2]);
if ok and type(ret) == "number" then
local next_time = elapsed+ret;
- timer[1] = next_time;
timers:insert(timer, next_time);
end