aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Stenberg <daniel@haxx.se>2003-02-14 08:02:55 +0000
committerDaniel Stenberg <daniel@haxx.se>2003-02-14 08:02:55 +0000
commit977175d4fd42090a9f462f991d8b3dabacbbb752 (patch)
tree1c9b01829c480cf7bf153e58f637990772ded550
parent3ddc7b939028cbb391f093bd14a49030ada5182e (diff)
Martin C. Martin's fix for multi-interface connects to non-listening ports.
-rw-r--r--lib/connect.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/lib/connect.c b/lib/connect.c
index da0a5b951..b34d5776a 100644
--- a/lib/connect.c
+++ b/lib/connect.c
@@ -81,6 +81,10 @@
#include "memdebug.h"
#endif
+/* The AIX 3.2.5 system headers define a function called geterrno() which
+ we won't need but that interferes with our function */
+#undef geterrno
+
static
int geterrno(void)
{
@@ -409,6 +413,8 @@ CURLcode Curl_is_connected(struct connectdata *conn,
if(err)
return CURLE_COULDNT_CONNECT;
}
+ else if(2 == rc)
+ return CURLE_COULDNT_CONNECT;
/*
* If the connection phase is "done" here, we should attempt to connect
@@ -558,6 +564,9 @@ CURLcode Curl_connecthost(struct connectdata *conn, /* context */
failf(data, "socket error: %d", err);
/* we are _not_ connected, it was a false alert, continue please */
}
+ else if(2 == rc)
+ /* waitconnect() returned error */
+ ;
else if(data->state.used_interface == Curl_if_multi) {
/* When running the multi interface, we bail out here */
rc = 0;