diff options
Diffstat (limited to 'lib/hostip.c')
-rw-r--r-- | lib/hostip.c | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/lib/hostip.c b/lib/hostip.c index 0ce07be81..2cd4e110e 100644 --- a/lib/hostip.c +++ b/lib/hostip.c @@ -88,6 +88,9 @@ #define ARES_SUCCESS CURLE_OK #endif +#define CURL_TIMEOUT_RESOLVE 300 /* when using asynch methods, we allow this + many seconds for a name resolve */ + /* These two symbols are for the global DNS cache */ static curl_hash hostname_cache; static int host_cache_initialized; @@ -570,8 +573,8 @@ CURLcode Curl_is_resolved(struct connectdata *conn, diff = Curl_tvdiff(Curl_tvnow(), data->progress.t_startsingle)/1000; - if(diff > 180) { - /* Waited >180 seconds, this is a name resolve timeout! */ + if(diff > CURL_TIMEOUT_RESOLVE) { + /* Waited many seconds, this is a name resolve timeout! */ failf(data, "Name resolve timeout after %ld seconds", diff); return CURLE_OPERATION_TIMEDOUT; } @@ -614,7 +617,7 @@ CURLcode Curl_wait_for_resolv(struct connectdata *conn, CURLcode rc=CURLE_OK; struct SessionHandle *data = conn->data; struct timeval now = Curl_tvnow(); - long timeout = 300; /* default name resolve timeout in seconds */ + long timeout = CURL_TIMEOUT_RESOLVE; /* default name resolve timeout */ /* now, see if there's a connect timeout or a regular timeout to use instead of the default one */ @@ -1431,9 +1434,10 @@ CURLcode Curl_wait_for_resolv(struct connectdata *conn, /* now, see if there's a connect timeout or a regular timeout to use instead of the default one */ - timeout = conn->data->set.connecttimeout ? conn->data->set.connecttimeout : - conn->data->set.timeout ? conn->data->set.timeout : - 300; /* default name resolve timeout in seconds */ + timeout = + conn->data->set.connecttimeout ? conn->data->set.connecttimeout : + conn->data->set.timeout ? conn->data->set.timeout : + CURL_TIMEOUT_RESOLVE; /* default name resolve timeout */ ticks = GetTickCount(); status = WaitForSingleObject(td->thread_hnd, 1000UL*timeout); |