Skip to content
Permalink
Browse files

connect: return CURLE_OPERATION_TIMEDOUT for errno == ETIMEDOUT

Previosly all connect() failures would return CURLE_COULDNT_CONNECT, no
matter what errno said.

This makes for example --retry work on these transfer failures.

Reported-by: Nathaniel J. Smith
Fixes #4461
Clsoes #4462
  • Loading branch information...
bagder committed Oct 4, 2019
1 parent 5584aa9 commit 490effc193f548d02f7cc9b05eb19350e28cc5e7
Showing with 8 additions and 0 deletions.
  1. +8 −0 lib/connect.c
@@ -976,6 +976,14 @@ CURLcode Curl_is_connected(struct connectdata *conn,
failf(data, "Failed to connect to %s port %ld: %s",
hostname, conn->port,
Curl_strerror(error, buffer, sizeof(buffer)));

#ifdef WSAETIMEDOUT
if(WSAETIMEDOUT == data->state.os_errno)
result = CURLE_OPERATION_TIMEDOUT;
#elif defined(ETIMEDOUT)
if(ETIMEDOUT == data->state.os_errno)
result = CURLE_OPERATION_TIMEDOUT;
#endif
}

return result;

0 comments on commit 490effc

Please sign in to comment.
You can’t perform that action at this time.