mod_posix: Run signal handlers in the startup thread

This commit is contained in:
Kim Alvefur 2021-10-06 14:50:47 +02:00
parent aa20355fa2
commit 89f110bbf2

View file

@ -130,22 +130,28 @@ if have_signal then
module:add_timer(0, function ()
signal.signal("SIGTERM", function ()
module:log("warn", "Received SIGTERM");
prosody.unlock_globals();
prosody.shutdown("Received SIGTERM");
prosody.lock_globals();
prosody.main_thread:run(function ()
prosody.unlock_globals();
prosody.shutdown("Received SIGTERM");
prosody.lock_globals();
end);
end);
signal.signal("SIGHUP", function ()
module:log("info", "Received SIGHUP");
prosody.reload_config();
prosody.main_thread:run(function ()
prosody.reload_config();
end);
-- this also reloads logging
end);
signal.signal("SIGINT", function ()
module:log("info", "Received SIGINT");
prosody.unlock_globals();
prosody.shutdown("Received SIGINT");
prosody.lock_globals();
prosody.main_thread:run(function ()
prosody.unlock_globals();
prosody.shutdown("Received SIGINT");
prosody.lock_globals();
end);
end);
signal.signal("SIGUSR1", function ()