summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Weil <sw@weilnetz.de>2015-07-30 23:08:12 +0200
committerMichael Roth <mdroth@linux.vnet.ibm.com>2015-10-20 22:55:32 -0500
commite00bf9ee701b65a0fa7c6b011b0050845c798aa8 (patch)
tree32fbd22eefb023d88ff33330170912cc338bd43d
parent78aeb6984cedf8efdc6a007fddaed46d55a07edf (diff)
downloadqemu-e00bf9ee701b65a0fa7c6b011b0050845c798aa8.tar.gz
slirp: Fix non blocking connect for w32
Signed-off-by: Stefan Weil <sw@weilnetz.de> (cherry picked from commit a246a01631f90230374c2b8ffce608232e2aa654) Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
-rw-r--r--slirp/tcp_input.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/slirp/tcp_input.c b/slirp/tcp_input.c
index f946db8dc0..00a77b4a5f 100644
--- a/slirp/tcp_input.c
+++ b/slirp/tcp_input.c
@@ -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)));