plugins/mod_posix.lua
changeset 12301 249eb306f668
parent 11834 7fe2fbfbdb1c
child 12981 74b9e05af71e
--- a/plugins/mod_posix.lua	Wed Oct 06 14:49:26 2021 +0200
+++ b/plugins/mod_posix.lua	Wed Oct 06 14:50:47 2021 +0200
@@ -130,22 +130,28 @@
 	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 ()