Software /
code /
prosody
Changeset
3022:948d511f479c
mod_posix: Don't add a server-starting event handler while the server-starting event is being fired.
author | Waqas Hussain <waqas20@gmail.com> |
---|---|
date | Fri, 07 May 2010 07:18:09 +0500 |
parents | 3021:bf3c4195c5f8 |
children | 3029:0c7beabfed5b |
files | plugins/mod_posix.lua |
diffstat | 1 files changed, 12 insertions(+), 10 deletions(-) [+] |
line wrap: on
line diff
--- a/plugins/mod_posix.lua Thu May 06 23:16:50 2010 +0500 +++ b/plugins/mod_posix.lua Fri May 07 07:18:09 2010 +0500 @@ -54,16 +54,16 @@ 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 @@ 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();