net.server_event: Check the buffer *length*, not the buffer itself (Fixes 100% cpu...
[prosody.git] / prosody
diff --git a/prosody b/prosody
index 9a88eac0b227e65406608276a3f4e861fe78ef94..446dbfb7344fb15263a1d9cc9d69e7d052be0051 100755 (executable)
--- a/prosody
+++ b/prosody
@@ -49,9 +49,6 @@ _G.prosody = prosody;
 
 -- Check dependencies
 local dependencies = require "util.dependencies";
-if not dependencies.check_dependencies() then
-       os.exit(1);
-end
 
 -- Load the config-parsing module
 config = require "core.configmanager"
@@ -86,6 +83,7 @@ function read_config()
                        break;
                end
        end
+       prosody.config_file = filename
        local ok, level, err = config.load(filename);
        if not ok then
                print("\n");
@@ -115,6 +113,12 @@ function read_config()
        end
 end
 
+function check_dependencies()
+       if not dependencies.check_dependencies() then
+               os.exit(1);
+       end
+end
+
 function load_libraries()
        -- Load socket framework
        server = require "net.server"
@@ -240,7 +244,7 @@ function init_global_state()
        function prosody.reload_config()
                log("info", "Reloading configuration file");
                prosody.events.fire_event("reloading-config");
-               local ok, level, err = config.load((rawget(_G, "CFG_CONFIGDIR") or ".").."/prosody.cfg.lua");
+               local ok, level, err = config.load(prosody.config_file);
                if not ok then
                        if level == "parser" then
                                log("error", "There was an error parsing the configuration file: %s", tostring(err));
@@ -387,6 +391,7 @@ init_logging();
 sanity_check();
 sandbox_require();
 set_function_metatable();
+check_dependencies();
 load_libraries();
 init_global_state();
 read_version();