Changeset

4572:aba47e6dff43

mod_s2s: prevent attempting to reconnect when the stream is gracefully closed and fix TB by checking session.conn is set (racy racy?)
author Marco Cirillo <maranda@lightwitch.org>
date Fri, 24 Feb 2012 15:36:36 +0000
parents 4571:32d532b95dc7
children 4573:09255a10fdfa 4574:4c24bb949e73
files plugins/s2s/mod_s2s.lua
diffstat 1 files changed, 2 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/plugins/s2s/mod_s2s.lua	Fri Feb 24 15:35:04 2012 +0000
+++ b/plugins/s2s/mod_s2s.lua	Fri Feb 24 15:36:36 2012 +0000
@@ -247,7 +247,7 @@
 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 @@
 		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