aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWaqas Hussain <waqas20@gmail.com>2010-05-07 07:18:09 +0500
committerWaqas Hussain <waqas20@gmail.com>2010-05-07 07:18:09 +0500
commit2f333716e6e6dcb12648ed8c8683d7189ead4efe (patch)
tree25f7f0020e88396c4e5f881ee3611797d398d33f
parent41fe87d3c53b96a7f75e1ec386b6c192211f71de (diff)
downloadprosody-2f333716e6e6dcb12648ed8c8683d7189ead4efe.tar.gz
prosody-2f333716e6e6dcb12648ed8c8683d7189ead4efe.zip
mod_posix: Don't add a server-starting event handler while the server-starting event is being fired.
-rw-r--r--plugins/mod_posix.lua22
1 files changed, 12 insertions, 10 deletions
diff --git a/plugins/mod_posix.lua b/plugins/mod_posix.lua
index 5888ae10..5e9d2544 100644
--- a/plugins/mod_posix.lua
+++ b/plugins/mod_posix.lua
@@ -54,16 +54,16 @@ module:add_event_hook("server-started", function ()
end);
-- Don't even think about it!
-module:add_event_hook("server-starting", function ()
- local suid = module:get_option("setuid");
- if not suid or suid == 0 or suid == "root" then
- if pposix.getuid() == 0 and not module:get_option("run_as_root") then
- module:log("error", "Danger, Will Robinson! Prosody doesn't need to be run as root, so don't do it!");
- module:log("error", "For more information on running Prosody as root, see http://prosody.im/doc/root");
- prosody.shutdown("Refusing to run as root");
- end
+if not prosody.start_time then -- server-starting
+ local suid = module:get_option("setuid");
+ if not suid or suid == 0 or suid == "root" then
+ if pposix.getuid() == 0 and not module:get_option("run_as_root") then
+ module:log("error", "Danger, Will Robinson! Prosody doesn't need to be run as root, so don't do it!");
+ module:log("error", "For more information on running Prosody as root, see http://prosody.im/doc/root");
+ prosody.shutdown("Refusing to run as root");
end
- end);
+ end
+end
local pidfile;
local pidfile_handle;
@@ -140,7 +140,9 @@ if daemonize then
write_pidfile();
end
end
- module:add_event_hook("server-starting", daemonize_server);
+ if not prosody.start_time then -- server-starting
+ daemonize_server();
+ end
else
-- Not going to daemonize, so write the pid of this process
write_pidfile();