aboutsummaryrefslogtreecommitdiffstats
path: root/plugins/s2s/mod_s2s.lua
diff options
context:
space:
mode:
authorMarco Cirillo <maranda@lightwitch.org>2012-02-24 15:36:36 +0000
committerMarco Cirillo <maranda@lightwitch.org>2012-02-24 15:36:36 +0000
commit0f9c104f0cb7f20a63bf6f890d0d04a690418a1d (patch)
tree902c3772ff4abab573db2892a371739668f37b93 /plugins/s2s/mod_s2s.lua
parentf04b6b3bada77a1888082383b85981fe1ced6784 (diff)
downloadprosody-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?)
Diffstat (limited to 'plugins/s2s/mod_s2s.lua')
-rw-r--r--plugins/s2s/mod_s2s.lua4
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