projects
/
prosody.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
util.sql: Raw query debug logging (needs to be explicitly enabled by a plugin)
[prosody.git]
/
prosody
diff --git
a/prosody
b/prosody
index e6a23d8e703f6fb172f188d45a6e87a089fde333..6a3b50db1c72e66548f637165911b568534e6918 100755
(executable)
--- a/
prosody
+++ b/
prosody
@@
-43,6
+43,12
@@
if CFG_DATADIR then
end
end
end
end
+if #arg > 0 and arg[1] ~= "--config" then
+ print("Unknown command-line option: "..tostring(arg[1]));
+ print("Perhaps you meant to use prosodyctl instead?");
+ return 1;
+end
+
-- Global 'prosody' object
local prosody = { events = require "util.events".new(); };
_G.prosody = prosody;
-- Global 'prosody' object
local prosody = { events = require "util.events".new(); };
_G.prosody = prosody;
@@
-121,6
+127,7
@@
end
function load_libraries()
-- Load socket framework
function load_libraries()
-- Load socket framework
+ socket = require "socket";
server = require "net.server"
end
server = require "net.server"
end
@@
-265,10
+272,14
@@
function init_global_state()
end
-- Function to initiate prosody shutdown
end
-- Function to initiate prosody shutdown
- function prosody.shutdown(reason)
+ function prosody.shutdown(reason
, code
)
log("info", "Shutting down: %s", reason or "unknown reason");
prosody.shutdown_reason = reason;
log("info", "Shutting down: %s", reason or "unknown reason");
prosody.shutdown_reason = reason;
- prosody.events.fire_event("server-stopping", {reason = reason});
+ prosody.shutdown_code = code;
+ prosody.events.fire_event("server-stopping", {
+ reason = reason;
+ code = code;
+ });
server.setquitting(true);
end
end
server.setquitting(true);
end
end
@@
-371,8
+382,10
@@
function loop()
prosody.events.fire_event("very-bad-error", {error = err, traceback = traceback});
end
prosody.events.fire_event("very-bad-error", {error = err, traceback = traceback});
end
+ local sleep = require"socket".sleep;
+
while select(2, xpcall(server.loop, catch_uncaught_error)) ~= "quitting" do
while select(2, xpcall(server.loop, catch_uncaught_error)) ~= "quitting" do
- s
ocket.s
leep(0.2);
+ sleep(0.2);
end
end
end
end
@@
-409,3
+422,4
@@
cleanup();
prosody.events.fire_event("server-stopped");
log("info", "Shutdown complete");
prosody.events.fire_event("server-stopped");
log("info", "Shutdown complete");
+os.exit(prosody.shutdown_code)