poll: fix polling unconnected server sockets on WIN32
authorYoann Vandoorselaere <yoann.v@prelude-ids.com>
Thu, 11 Sep 2008 16:09:17 +0000 (18:09 +0200)
committerPaolo Bonzini <bonzini@gnu.org>
Thu, 11 Sep 2008 16:09:17 +0000 (18:09 +0200)
2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>

* lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.

ChangeLog
lib/poll.c

index 4ffbb6f..3375a19 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
+
+       * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
+
 2008-09-11  Jim Meyering  <meyering@redhat.com>
 
        * users.txt: Add gtk-vnc.
index 4a62dc1..e0714f0 100644 (file)
@@ -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)