Comparison

core/s2smanager.lua @ 4028:f596e1a5e88a

s2smanager: Destroy session on immediate failure of a connection attempt (e.g. inability to create sockets)
author Matthew Wild <mwild1@gmail.com>
date Fri, 24 Dec 2010 04:58:09 +0000
parent 4027:81d0ed5787f6
child 4078:05a58497a903
child 4106:e19fc274e182
comparison
equal deleted inserted replaced
4027:81d0ed5787f6 4028:f596e1a5e88a
303 end 303 end
304 -- end of CNAME resolving 304 -- end of CNAME resolving
305 305
306 if reply and reply[#reply] and reply[#reply].a then 306 if reply and reply[#reply] and reply[#reply].a then
307 log("debug", "DNS reply for %s gives us %s", connect_host, reply[#reply].a); 307 log("debug", "DNS reply for %s gives us %s", connect_host, reply[#reply].a);
308 return make_connect(host_session, reply[#reply].a, connect_port); 308 local ok, err = make_connect(host_session, reply[#reply].a, connect_port);
309 if not ok then
310 if not attempt_connection(host_session, err or "closed") then
311 err = err and (": "..err) or "";
312 destroy_session(host_session, "Connection failed"..err);
313 end
314 end
309 else 315 else
310 log("debug", "DNS lookup failed to get a response for %s", connect_host); 316 log("debug", "DNS lookup failed to get a response for %s", connect_host);
311 if not attempt_connection(host_session, "name resolution failed") then -- Retry if we can 317 if not attempt_connection(host_session, "name resolution failed") then -- Retry if we can
312 log("debug", "No other records to try for %s - destroying", host_session.to_host); 318 log("debug", "No other records to try for %s - destroying", host_session.to_host);
313 err = err and (": "..err) or ""; 319 err = err and (": "..err) or "";