diff options
author | Marco Cirillo <maranda@lightwitch.org> | 2012-02-24 15:36:36 +0000 |
---|---|---|
committer | Marco Cirillo <maranda@lightwitch.org> | 2012-02-24 15:36:36 +0000 |
commit | 0f9c104f0cb7f20a63bf6f890d0d04a690418a1d (patch) | |
tree | 902c3772ff4abab573db2892a371739668f37b93 | |
parent | f04b6b3bada77a1888082383b85981fe1ced6784 (diff) | |
download | prosody-0f9c104f0cb7f20a63bf6f890d0d04a690418a1d.tar.gz prosody-0f9c104f0cb7f20a63bf6f890d0d04a690418a1d.zip |
mod_s2s: prevent attempting to reconnect when the stream is gracefully closed and fix TB by checking session.conn is set (racy racy?)
-rw-r--r-- | plugins/s2s/mod_s2s.lua | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/plugins/s2s/mod_s2s.lua b/plugins/s2s/mod_s2s.lua index 88e8cded..d1fdedb3 100644 --- a/plugins/s2s/mod_s2s.lua +++ b/plugins/s2s/mod_s2s.lua @@ -247,7 +247,7 @@ function stream_callbacks.streamclosed(session) end function stream_callbacks.streamdisconnected(session, err) - if err and err ~= "closed" then + if err and err ~= "stream closed" then (session.log or log)("debug", "s2s connection attempt failed: %s", err); if s2sout.attempt_connection(session, err) then (session.log or log)("debug", "...so we're going to try another target"); @@ -255,7 +255,7 @@ function stream_callbacks.streamdisconnected(session, err) end end (session.log or log)("info", "s2s disconnected: %s->%s (%s)", tostring(session.from_host), tostring(session.to_host), tostring(err or "closed")); - sessions[session.conn] = nil; + if session.con then sessions[session.conn] = nil; else (session.log or log)("debug", "stale session's connection already closed"); end s2s_destroy_session(session, err); end |