diff options
author | Matthew Wild <mwild1@gmail.com> | 2012-12-28 12:47:44 +0000 |
---|---|---|
committer | Matthew Wild <mwild1@gmail.com> | 2012-12-28 12:47:44 +0000 |
commit | b9ac1b8b07a8f0ac3c16595a544132ea6f43e998 (patch) | |
tree | 35d7ef14dde7d00aaff4d95251daa4c89df73999 /plugins/mod_s2s | |
parent | c141ffdbf604abb6536ff200ac21c7499fb69731 (diff) | |
download | prosody-b9ac1b8b07a8f0ac3c16595a544132ea6f43e998.tar.gz prosody-b9ac1b8b07a8f0ac3c16595a544132ea6f43e998.zip |
mod_s2s: Remove connection from sessions table as soon as we learn it is disconnected. Fixes a connection/session leak.
Diffstat (limited to 'plugins/mod_s2s')
-rw-r--r-- | plugins/mod_s2s/mod_s2s.lua | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/plugins/mod_s2s/mod_s2s.lua b/plugins/mod_s2s/mod_s2s.lua index 098a74bd..788a64af 100644 --- a/plugins/mod_s2s/mod_s2s.lua +++ b/plugins/mod_s2s/mod_s2s.lua @@ -485,6 +485,7 @@ end 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 @@ function listener.ondisconnect(conn, err) 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 |