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;
}
}