The other half of the patches added to SF patch 555085 by A I
MacIntyre.  At least on OS/2, a subsequent connect() on a nonblocking
socket returns errno==EISCONN to indicate success.  This seems
harmless on Unix.
diff --git a/Modules/socketmodule.c b/Modules/socketmodule.c
index 29b6339..616c836 100644
--- a/Modules/socketmodule.c
+++ b/Modules/socketmodule.c
@@ -1327,6 +1327,8 @@
 		if (res < 0 && errno == EINPROGRESS) {
 			internal_select(s, 1);
 			res = connect(s->sock_fd, addr, addrlen);
+			if (res < 0 && errno == EISCONN)
+				res = 0;
 		}
 	}