From a94c596c02852294020e5d1b86a70e04ec4b9e5d Mon Sep 17 00:00:00 2001 From: Matthew Wild Date: Sun, 9 Nov 2008 20:14:58 +0000 Subject: Prevent slow connects for s2s from blocking for so long --- core/s2smanager.lua | 1 + 1 file changed, 1 insertion(+) (limited to 'core/s2smanager.lua') diff --git a/core/s2smanager.lua b/core/s2smanager.lua index 2f2f1d92..76edc8af 100644 --- a/core/s2smanager.lua +++ b/core/s2smanager.lua @@ -78,6 +78,7 @@ function new_outgoing(from_host, to_host) local conn, handler = socket.tcp() --FIXME: Below parameters (ports/ip) are incorrect (use SRV) to_host = srvmap[to_host] or to_host; + conn:settimeout(0.1); conn:connect(to_host, 5269); conn = wraptlsclient(cl, conn, to_host, 5269, 0, 1, hosts[from_host].ssl_ctx ); host_session.conn = conn; -- cgit v1.2.3 From 074f86605d713a42d55d3d9eb68536d0ee41c123 Mon Sep 17 00:00:00 2001 From: Matthew Wild Date: Sun, 9 Nov 2008 21:46:42 +0000 Subject: Move some code about so that we don't leave connections hanging if they hit the connection timeout --- core/s2smanager.lua | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'core/s2smanager.lua') diff --git a/core/s2smanager.lua b/core/s2smanager.lua index 76edc8af..aed10753 100644 --- a/core/s2smanager.lua +++ b/core/s2smanager.lua @@ -76,6 +76,12 @@ function new_outgoing(from_host, to_host) local cl = connlisteners_get("xmppserver"); local conn, handler = socket.tcp() + + + -- Register this outgoing connection so that xmppserver_listener knows about it + -- otherwise it will assume it is a new incoming connection + cl.register_outgoing(conn, host_session); + --FIXME: Below parameters (ports/ip) are incorrect (use SRV) to_host = srvmap[to_host] or to_host; conn:settimeout(0.1); @@ -83,10 +89,6 @@ function new_outgoing(from_host, to_host) conn = wraptlsclient(cl, conn, to_host, 5269, 0, 1, hosts[from_host].ssl_ctx ); host_session.conn = conn; - -- Register this outgoing connection so that xmppserver_listener knows about it - -- otherwise it will assume it is a new incoming connection - cl.register_outgoing(conn, host_session); - do local conn_name = "s2sout"..tostring(conn):match("[a-f0-9]*$"); host_session.log = logger_init(conn_name); -- cgit v1.2.3