--- a/net/connect.lua Mon Feb 26 15:21:27 2018 +0000
+++ b/net/connect.lua Mon Feb 26 15:25:34 2018 +0000
@@ -36,7 +36,12 @@
return;
end
p:log("debug", "Next target to try is %s:%d", ip, port);
- local conn = assert(server.addclient(ip, port, pending_connection_listeners, p.options.pattern or "*a", p.options.sslctx, conn_type, extra));
+ local conn, err = server.addclient(ip, port, pending_connection_listeners, p.options.pattern or "*a", p.options.sslctx, conn_type, extra);
+ if not conn then
+ log("debug", "Connection attempt failed immediately: %s", tostring(err));
+ p.last_error = err or "unknown reason";
+ return attempt_connection(p);
+ end
p.conn = conn;
pending_connections_map[conn] = p;
end);