this fix seems to make the connect fail properly even on IPv4-only Linux

machines!
This commit is contained in:
Daniel Stenberg 2001-11-22 13:57:00 +00:00
parent 52dbc96c32
commit 0e7203be89

View File

@ -309,9 +309,8 @@ static CURLcode bindlocal(struct connectdata *conn,
return CURLE_HTTP_PORT_FAILED;
}
#else /* end of ipv4-specific section */
#endif /* end of ipv4-specific section */
/* we only use socketerror() on IPv6-enabled machines */
static
int socketerror(int sockfd)
{
@ -324,7 +323,6 @@ int socketerror(int sockfd)
return err;
}
#endif
/*
* TCP connect to the given host with timeout, proxy or remote doesn't matter.
@ -525,6 +523,16 @@ CURLcode Curl_connecthost(struct connectdata *conn, /* context */
}
}
if(0 == rc) {
int err = socketerror(sockfd);
if ((0 == err) || (EISCONN == err)) {
/* we are connected, awesome! */
break;
}
/* nope, not connected for real */
rc = -1;
}
if(0 != rc) {
/* get a new timeout for next attempt */
after = Curl_tvnow();