X-Git-Url: https://git.enpas.org/?a=blobdiff_plain;f=net%2Fxmppserver_listener.lua;h=37f2470c20317ec9f30f4aadf7219e74c00a9c1a;hb=3c5c1258c36f3a194b1969f31a472ad93737b06c;hp=3c038b83582532dd99848668514d5658a3a24cde;hpb=837c4ac67e42d58e2e0edf1076e43f3577bfaef0;p=prosody.git diff --git a/net/xmppserver_listener.lua b/net/xmppserver_listener.lua index 3c038b83..37f2470c 100644 --- a/net/xmppserver_listener.lua +++ b/net/xmppserver_listener.lua @@ -104,14 +104,14 @@ local function session_close(session, reason) session.conn.close(true); -- Force FIXME: timer? end session.conn.close(); - xmppserver.ondisconnect(session.conn, "stream error"); + xmppserver.disconnect(session.conn, "stream error"); end end -- End of session methods -- -function xmppserver.onincoming(conn, data) +function xmppserver.listener(conn, data) local session = sessions[conn]; if not session then session = s2s_new_incoming(conn); @@ -148,13 +148,13 @@ function xmppserver.status(conn, status) end end -function xmppserver.ondisconnect(conn, err) +function xmppserver.disconnect(conn, err) local session = sessions[conn]; if session then if err and err ~= "closed" and session.srv_hosts then - (session.log or log)("debug", "s2s connection closed unexpectedly"); + (session.log or log)("debug", "s2s connection attempt failed: %s", err); if s2s_attempt_connect(session, err) then - (session.log or log)("debug", "...so we're going to try again"); + (session.log or log)("debug", "...so we're going to try another target"); return; -- Session lives for now end end @@ -162,6 +162,7 @@ function xmppserver.ondisconnect(conn, err) s2s_destroy_session(session); sessions[conn] = nil; session = nil; + collectgarbage("collect"); end end