slirp: Fix non blocking connect for w32
authorStefan Weil <sw@weilnetz.de>
Thu, 30 Jul 2015 21:08:12 +0000 (23:08 +0200)
committerSeokYeon Hwang <syeon.hwang@samsung.com>
Wed, 11 Nov 2015 04:29:37 +0000 (13:29 +0900)
Change-Id: Iae869bcf0e25a9842a66f609e552f4b72b69bebf
Signed-off-by: Stefan Weil <sw@weilnetz.de>
(cherry picked from commit 9cf20c1a8d8d128508e80929768cad182c807093)

slirp/tcp_input.c

index f946db8dc07eaed24fa0f9ffffdd12a88c32ce76..00a77b4a5fadb78ba19cd05ffd71a2a4e2c9433f 100644 (file)
@@ -584,7 +584,13 @@ findso:
            goto cont_input;
          }
 
-         if((tcp_fconnect(so) == -1) && (errno != EINPROGRESS) && (errno != EWOULDBLOCK)) {
+          if ((tcp_fconnect(so) == -1) &&
+#if defined(_WIN32)
+              socket_error() != WSAEWOULDBLOCK
+#else
+              (errno != EINPROGRESS) && (errno != EWOULDBLOCK)
+#endif
+          ) {
            u_char code=ICMP_UNREACH_NET;
            DEBUG_MISC((dfd, " tcp fconnect errno = %d-%s\n",
                        errno,strerror(errno)));