Software /
code /
prosody
Changeset
11812:42e98179c034
Merge 0.11->trunk
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Mon, 20 Sep 2021 15:51:43 +0200 (2021-09-20) |
parents | 11808:c24580a214f3 (current diff) 11811:ae43166fe931 (diff) |
children | 11813:790bffbb9047 |
files | net/server_epoll.lua prosodyctl |
diffstat | 2 files changed, 19 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/net/server_epoll.lua Sun Sep 19 16:28:16 2021 +0200 +++ b/net/server_epoll.lua Mon Sep 20 15:51:43 2021 +0200 @@ -89,6 +89,9 @@ -- Reuse write buffer tables keep_buffers = true; + + --- How long to wait after getting the shutdown signal before forcefully tearing down every socket + shutdown_deadline = 5; }}; local cfg = default_config.__index; @@ -1004,6 +1007,21 @@ if quit then quitting = "quitting"; closeall(); + addtimer(1, function () + if quitting then + closeall(); + return 1; + end + end); + if cfg.shutdown_deadline then + addtimer(cfg.shutdown_deadline, function () + if quitting then + for fd, conn in pairs(fds) do -- luacheck: ignore 213/fd + conn:destroy(); + end + end + end); + end else quitting = nil; end
--- a/prosodyctl Sun Sep 19 16:28:16 2021 +0200 +++ b/prosodyctl Mon Sep 20 15:51:43 2021 +0200 @@ -230,7 +230,7 @@ if prosody.installed and configmanager.get("*", "prosodyctl_service_warnings") ~= false then show_warning("WARNING: Use of prosodyctl start/stop/restart/reload is not recommended"); show_warning(" if Prosody is managed by an init system - use that directly instead."); - lfs = lfs or require + lfs = lfs or require"lfs"; if lfs.attributes("/etc/systemd") then show_warning(" e.g. systemctl %s prosody", service_command); elseif lfs.attributes("/etc/init.d/prosody") then