X-Git-Url: https://git.enpas.org/?a=blobdiff_plain;f=net%2Fserver.lua;h=375e7081f670bb760f46fe8df757215a34e9617d;hb=f50f4cb01c079cfa913a76313859e469abbda12e;hp=deabaa126b4a50f772c662de998f3d685814aa11;hpb=b67761493211e0a7db558c6af59d8e538e014927;p=prosody.git diff --git a/net/server.lua b/net/server.lua index deabaa12..375e7081 100644 --- a/net/server.lua +++ b/net/server.lua @@ -42,11 +42,16 @@ end if prosody then local config_get = require "core.configmanager".get; + local defaults = {}; + for k,v in pairs(server.cfg or server.getsettings()) do + defaults[k] = v; + end local function load_config() local settings = config_get("*", "network_settings") or {}; if use_luaevent then local event_settings = { ACCEPT_DELAY = settings.event_accept_retry_interval; + ACCEPT_QUEUE = settings.tcp_backlog; CLEAR_DELAY = settings.event_clear_interval; CONNECT_TIMEOUT = settings.connect_timeout; DEBUG = settings.debug; @@ -59,11 +64,15 @@ if prosody then WRITE_TIMEOUT = settings.send_timeout; }; - for k, v in pairs(event_settings) do - server.cfg[k] = v; + for k,default in pairs(defaults) do + server.cfg[k] = event_settings[k] or default; end else - server.changesettings(settings); + local select_settings = {}; + for k,default in pairs(defaults) do + select_settings[k] = settings[k] or default; + end + server.changesettings(select_settings); end end load_config();