summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/poll.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/lib/poll.c b/lib/poll.c
index 4a62dc1df1..e0714f09a9 100644
--- a/lib/poll.c
+++ b/lib/poll.c
@@ -180,6 +180,12 @@ poll (pfd, nfd, timeout)
#else
char data[64];
r = recv (pfd[i].fd, data, sizeof (data), MSG_PEEK);
+
+# ifdef WIN32
+ if (r < 0 && GetLastError() == 10057) /* server socket */
+ socket_errno = ENOTCONN;
+ else
+# endif
socket_errno = (r < 0) ? errno : 0;
#endif
if (r == 0)