# HG changeset patch # User Kim Alvefur # Date 1593477117 -7200 # Node ID 9dcbbb1d12c331842b1b0bffbb734ac509e8e91d # Parent 62355b8017727e257b97a17087d0d29aedd4ef19 mod_admin_shell: Handle server_epoll using monotonic time internally diff -r 62355b801772 -r 9dcbbb1d12c3 plugins/mod_admin_shell.lua --- a/plugins/mod_admin_shell.lua Tue Jun 30 02:31:29 2020 +0200 +++ b/plugins/mod_admin_shell.lua Tue Jun 30 02:31:57 2020 +0200 @@ -1267,11 +1267,18 @@ local print = self.session.print; local add_task = require"util.timer".add_task; local h, params = add_task.h, add_task.params; + local function normalize_time(t) + return t; + end + local function format_time(t) + return os.date("%F %T", math.floor(normalize_time(t))); + end if h then print("-- util.timer"); elseif server.timer then print("-- net.server.timer"); h = server.timer.add_task.timers; + normalize_time = server.timer.to_absolute_time or normalize_time; end if h then for i, id in ipairs(h.ids) do @@ -1286,7 +1293,7 @@ elseif params[id] then cb = params[id].callback or cb; end - print(os.date("%F %T", math.floor(t)), cb); + print(format_time(t), cb); end end if server.event_base then @@ -1301,7 +1308,7 @@ if h then local next_time = h:peek(); if next_time then - return true, os.date("Next event at %F %T (in %%.6fs)", math.floor(next_time)):format(next_time - time.now()); + return true, ("Next event at %s (in %.6fs)"):format(format_time(next_time), normalize_time(next_time) - time.now()); end end return true;