]> git.ipfire.org Git - thirdparty/openvpn.git/commitdiff
make non-blocking connect work on Windows
authorHeiko Hund <heiko.hund@sophos.com>
Tue, 17 Jul 2012 16:19:53 +0000 (18:19 +0200)
committerDavid Sommerseth <dazo@users.sourceforge.net>
Thu, 19 Jul 2012 19:20:22 +0000 (21:20 +0200)
Instead of EINPROGRESS WinSock2 returns WSAEWOULDBLOCK if a non-blocking
connect(2) cannot be completed immediately.

Signed-off-by: Heiko Hund <heiko.hund@sophos.com>
Acked-by: Gert Doering <gert@greenie.muc.de>
Message-Id: 1342541993-32462-1-git-send-email-heiko.hund@sophos.com
URL: http://article.gmane.org/gmane.network.openvpn.devel/6875
Signed-off-by: David Sommerseth <dazo@users.sourceforge.net>
src/openvpn/socket.c

index 54ebce752515ddf756b64a304d7d7332a54c4c16..02e2768f1fce3895c65f2e5ea6c4ecfcb7cca5d1 100644 (file)
@@ -1165,7 +1165,13 @@ openvpn_connect (socket_descriptor_t sd,
   status = connect (sd, &remote->addr.sa, af_addr_size(remote->addr.sa.sa_family));
   if (status)
     status = openvpn_errno_socket ();
-  if (status == EINPROGRESS)
+  if (
+#ifdef WIN32
+    status == WSAEWOULDBLOCK
+#else
+    status == EINPROGRESS
+#endif
+  )
     {
       while (true)
        {