Generate table with word break data.
[gnulib.git] / tests / test-poll.c
index 5e8d706..77b06d9 100644 (file)
@@ -28,6 +28,7 @@
 #include <fcntl.h>
 #include <stdlib.h>
 #include <stdbool.h>
+#include <sys/ioctl.h>
 #include <errno.h>
 #include "sockets.h"
 
@@ -129,26 +130,22 @@ connect_to_socket (int blocking)
     {
 #ifdef WIN32_NATIVE
       unsigned long iMode = 1;
-      ioctlsocket (s, FIONBIO, (void *) &iMode);
+      ioctl (s, FIONBIO, (char *) &iMode);
+
 #elif defined F_GETFL
       int oldflags = fcntl (s, F_GETFL, NULL);
+
       if (!(oldflags & O_NONBLOCK))
         fcntl (s, F_SETFL, oldflags | O_NONBLOCK);
 #endif
     }
 
-  if (connect (s, (struct sockaddr *) &ia, sizeof (ia)) < 0)
+  if (connect (s, (struct sockaddr *) &ia, sizeof (ia)) < 0
+      && (blocking || errno != EINPROGRESS))
     {
-      if (errno != EINPROGRESS)
-       {
-         perror ("connect");
-         exit (77);
-       }
+      perror ("connect");
+      exit (77);
     }
-  else if (!blocking)
-    failed ("huh, connect succeeded?");
 
   return s;
 }
@@ -165,7 +162,7 @@ poll1 (int fd, int ev, int time)
   pfd.fd = fd;
   pfd.events = ev;
   pfd.revents = 0;
-  r = poll (&pfd, 1, time);  
+  r = poll (&pfd, 1, time);
   if (r < 0)
     return r;
 
@@ -363,7 +360,7 @@ main ()
 {
   int result;
 
-  gl_sockets_startup (SOCKETS_2_0);
+  gl_sockets_startup (SOCKETS_1_1);
 
 #ifdef INTERACTIVE
   printf ("Please press Enter\n");