Software /
code /
prosody
Diff
plugins/mod_s2s/mod_s2s.lua @ 5274:0d08c0965824
mod_s2s: Remove connection from sessions table as soon as we learn it is disconnected. Fixes a connection/session leak.
author | Matthew Wild <mwild1@gmail.com> |
---|---|
date | Fri, 28 Dec 2012 12:47:44 +0000 |
parent | 5173:b22d24b5a89a |
child | 5281:815c689f85ad |
line wrap: on
line diff
--- a/plugins/mod_s2s/mod_s2s.lua Thu Dec 27 20:44:58 2012 +0100 +++ b/plugins/mod_s2s/mod_s2s.lua Fri Dec 28 12:47:44 2012 +0000 @@ -485,6 +485,7 @@ function listener.ondisconnect(conn, err) local session = sessions[conn]; if session then + sessions[conn] = nil; if err and session.direction == "outgoing" and session.notopen then (session.log or log)("debug", "s2s connection attempt failed: %s", err); if s2sout.attempt_connection(session, err) then @@ -494,7 +495,6 @@ end (session.log or log)("debug", "s2s disconnected: %s->%s (%s)", tostring(session.from_host), tostring(session.to_host), tostring(err or "connection closed")); s2s_destroy_session(session, err); - sessions[conn] = nil; end end