aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--core/configmanager.lua5
-rw-r--r--net/server.lua12
-rwxr-xr-xprosody2
3 files changed, 14 insertions, 5 deletions
diff --git a/core/configmanager.lua b/core/configmanager.lua
index 299374ec..37646017 100644
--- a/core/configmanager.lua
+++ b/core/configmanager.lua
@@ -12,6 +12,8 @@ local _G = _G;
local setmetatable, loadfile, pcall, rawget, rawset, io, error, dofile, type =
setmetatable, loadfile, pcall, rawget, rawset, io, error, dofile, type;
+local eventmanager = require "core.eventmanager";
+
module "configmanager"
local parsers = {};
@@ -68,6 +70,9 @@ function load(filename, format)
if f then
local ok, err = parsers[format].load(f:read("*a"));
f:close();
+ if ok then
+ eventmanager.fire_event("config-reloaded", { filename = filename, format = format });
+ end
return ok, "parser", err;
end
return f, "file", err;
diff --git a/net/server.lua b/net/server.lua
index 0097be3c..77bc2f5c 100644
--- a/net/server.lua
+++ b/net/server.lua
@@ -325,7 +325,9 @@ wrapconnection = function( server, listeners, socket, ip, serverport, clientport
if not ( forced or fatalerror ) then
handler.sendbuffer( )
if bufferqueuelen ~= 0 then -- try again...
- handler.write = nil -- ... but no further writing allowed
+ if handler then
+ handler.write = nil -- ... but no further writing allowed
+ end
toclose = true
return false
end
@@ -337,9 +339,11 @@ wrapconnection = function( server, listeners, socket, ip, serverport, clientport
socket:close( )
_sendlistlen = removesocket( _sendlist, socket, _sendlistlen )
_socketlist[ socket ] = nil
- _writetimes[ handler ] = nil
- _closelist[ handler ] = nil
- handler = nil
+ if handler then
+ _writetimes[ handler ] = nil
+ _closelist[ handler ] = nil
+ handler = nil
+ end
socket = nil
mem_free( )
if server then
diff --git a/prosody b/prosody
index b270881c..78171ef7 100755
--- a/prosody
+++ b/prosody
@@ -38,7 +38,7 @@ do
-- Use lfs? Make a new conf/ dir?
local ok, level, err = config.load((CFG_CONFIGDIR or ".").."/prosody.cfg.lua");
if not ok then
- print("");
+ print("\n");
print("**************************");
if level == "parser" then
print("A problem occured while reading the config file "..(CFG_CONFIGDIR or ".").."/prosody.cfg.lua");