diff --git a/lib/poll.c b/lib/poll.c index 4a62dc1..e0714f0 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)