Windows returns EWOULDBLOCK instead of EINPROGRESS
authorNils Durner <durner@gnunet.org>
Tue, 1 Sep 2009 21:15:09 +0000 (21:15 +0000)
committerNils Durner <durner@gnunet.org>
Tue, 1 Sep 2009 21:15:09 +0000 (21:15 +0000)
src/util/network.c

index ce3f7b40b12265143858fd9f038b4d3c29319aae..7e4743a1079e8dd449eaa6a57cd5536716782fe2 100644 (file)
@@ -182,7 +182,11 @@ GNUNET_NETWORK_socket_connect (const struct GNUNET_NETWORK_Handle *desc,
   ret = connect (desc->fd, address, address_len);\r
 #ifdef MINGW\r
   if (SOCKET_ERROR == ret)\r
-    SetErrnoFromWinsockError (WSAGetLastError ());\r
+    {\r
+      SetErrnoFromWinsockError (WSAGetLastError ());\r
+      if (errno == EWOULDBLOCK)\r
+        errno = EINPROGRESS;\r
+    }\r
 #endif\r
   return ret == 0 ? GNUNET_OK : GNUNET_SYSERR;\r
 }\r