Hi Paolo,

Attached is a patch that fixes the poll() module to work on WIN32
systems with unconnected socket (example: server socket).

Regards,

-- 
Yoann Vandoorselaere | Responsable R&D / CTO | PreludeIDS Technologies
Tel: +33 (0)8 70 70 21 58                  Fax: +33(0)4 78 42 21 58
http://www.prelude-ids.com
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)

Reply via email to