allow non-blocking connect to succeed, as it does on OpenBSD
authorPaolo Bonzini <bonzini@gnu.org>
Tue, 16 Sep 2008 08:26:26 +0000 (10:26 +0200)
committerPaolo Bonzini <bonzini@gnu.org>
Tue, 16 Sep 2008 08:26:26 +0000 (10:26 +0200)
2008-09-16  Paolo Bonzini  <bonzini@gnu.org>

* tests/test-poll.c (connect_to_socket): Allow non-blocking connect
to succeed.

ChangeLog
tests/test-poll.c

index 41b8c5d..32e7ed9 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
+
+       * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
+       to succeed.
+
 2008-09-16  Jim Meyering  <meyering@redhat.com>
 
        avoid spurious test failure when library is built without ACL support
index 5e8d706..f97b8d5 100644 (file)
@@ -139,16 +139,12 @@ connect_to_socket (int blocking)
 #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;
 }