X-Git-Url: https://git.enpas.org/?a=blobdiff_plain;f=prosody;h=5f1b49b63b8b014d706b703c247f58611ecc24f3;hb=70de0bca79c0f99314b21dc9f6cec6bbb1f6461a;hp=78171ef73cc954f7cd2e72768a5ed9ded8013b0e;hpb=fa6ad64f657abdf4985a4a9976f0f1eaccf1b4ab;p=prosody.git diff --git a/prosody b/prosody index 78171ef7..5f1b49b6 100755 --- a/prosody +++ b/prosody @@ -59,22 +59,22 @@ do end end -log = require "util.logger".init("general"); - --- Disable log output, needs to read from config --- require "util.logger".setwriter(function () end); +--- Initialize logging +require "core.loggingmanager" +--- Check runtime dependencies require "util.dependencies" +--- Load socket framework local server = require "net.server" + -- Maps connections to sessions -- sessions = {}; hosts = {}; --- Load and initialise core modules -- - +--- Load and initialise core modules require "util.import" require "core.xmlhandlers" require "core.rostermanager" @@ -160,6 +160,7 @@ end -- Global function to initiate prosody shutdown function prosody_shutdown(reason) log("info", "Shutting down: %s", reason or "unknown reason"); + eventmanager.fire_event("server-stopping", { reason = reason }); server.setquitting(true); end @@ -198,6 +199,8 @@ while select(2, xpcall(server.loop, catch_uncaught_error)) ~= "quitting" do socket.sleep(0.2); end +eventmanager.fire_event("server-cleanup"); + -- Ok, we're quitting I know, but we -- need to do some tidying before we go :) server.setquitting(false); @@ -224,3 +227,5 @@ for hostname, host in pairs(hosts) do end server.closeall(); + +eventmanager.fire_event("server-stopped");