# HG changeset patch # User Kim Alvefur # Date 1471878778 -7200 # Node ID a1c040a5754fb4d0e9e43b0a3f35f60289d8419f # Parent 96e6df7123597c8712272185a7601eb8cb26045e net.server_epoll: Make maximum wait time configurable diff -r 96e6df712359 -r a1c040a5754f net/server_epoll.lua --- a/net/server_epoll.lua Sat Aug 20 19:12:19 2016 +0200 +++ b/net/server_epoll.lua Mon Aug 22 17:12:58 2016 +0200 @@ -34,6 +34,7 @@ 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 @@ -- 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 @@ 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 @@ 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];