net.server_epoll: Make maximum wait time configurable

vault/0.11
Kim Alvefur 10 years ago
parent c48abbdf62
commit e09f97752a
  1. 7
      net/server_epoll.lua

@ -34,6 +34,7 @@ local cfg = {
read_retry_delay = 1e-06;
connect_timeout = 20;
handshake_timeout = 60;
max_wait = 86400;
};
local fds = createtable(10, 0); -- FD -> conn
@ -63,7 +64,7 @@ end
-- Run callbacks of expired timers
-- Return time until next timeout
local function runtimers()
local function runtimers(next_delay)
if resort_timers then
-- Sort earliest timers to the end
t_sort(timers, function (a, b) return a[1] > b[1]; end);
@ -80,8 +81,6 @@ local function runtimers()
end
--]]
local next_delay = 86400;
-- Iterate from the end and remove completed timers
for i = #timers, 1, -1 do
local timer = timers[i];
@ -579,7 +578,7 @@ end
local function loop()
repeat
local t = runtimers();
local t = runtimers(cfg.max_wait);
local fd, r, w = epoll.wait(t);
if fd then
local conn = fds[fd];

Loading…
Cancel
Save