Changeset: 2871bc8bbb57 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=2871bc8bbb57
Modified Files:
        clients/mapilib/mapi.c
Branch: Apr2019
Log Message:

Also record error if socket() works but connect() doesn't.


diffs (41 lines):

diff --git a/clients/mapilib/mapi.c b/clients/mapilib/mapi.c
--- a/clients/mapilib/mapi.c
+++ b/clients/mapilib/mapi.c
@@ -2392,24 +2392,23 @@ mapi_reconnect(Mapi mid)
                                   | SOCK_CLOEXEC
 #endif
                                   , rp->ai_protocol);
-                       if (s == INVALID_SOCKET) {
-                               snprintf(errbuf, sizeof(errbuf),
-                                        "could not connect to %s:%s: %s",
-                                        mid->hostname, port,
+                       if (s != INVALID_SOCKET) {
+#if !defined(SOCK_CLOEXEC) && defined(HAVE_FCNTL)
+                               (void) fcntl(s, F_SETFD, FD_CLOEXEC);
+#endif
+                               if (connect(s, rp->ai_addr, (socklen_t) 
rp->ai_addrlen) != SOCKET_ERROR)
+                                       break;  /* success */
+                               closesocket(s);
+                       }
+                       snprintf(errbuf, sizeof(errbuf),
+                                "could not connect to %s:%s: %s",
+                                mid->hostname, port,
 #ifdef _MSC_VER
                                         wsaerror(WSAGetLastError())
 #else
-                                        strerror(errno)
+                                strerror(errno)
 #endif
-                                       );
-                               continue;
-                       }
-#if !defined(SOCK_CLOEXEC) && defined(HAVE_FCNTL)
-                       (void) fcntl(s, F_SETFD, FD_CLOEXEC);
-#endif
-                       if (connect(s, rp->ai_addr, (socklen_t) rp->ai_addrlen) 
!= SOCKET_ERROR)
-                               break;  /* success */
-                       closesocket(s);
+                               );
                }
                freeaddrinfo(res);
                if (rp == NULL) {
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to