resolve: add error message when resolving using SIGALRM

Closes #1066
This commit is contained in:
Andreas Streichardt 2016-10-10 13:08:24 +02:00 committed by Daniel Stenberg
parent 7cc9c876e8
commit eb5199317e
1 changed files with 5 additions and 2 deletions

View File

@ -603,11 +603,14 @@ int Curl_resolv_timeout(struct connectdata *conn,
/* USE_ALARM_TIMEOUT defined, but no timeout actually requested */
return Curl_resolv(conn, hostname, port, entry);
if(timeout < 1000)
if(timeout < 1000) {
/* The alarm() function only provides integer second resolution, so if
we want to wait less than one second we must bail out already now. */
failf(data,
"remaining timeout of %ld too small to resolve via SIGALRM method",
timeout);
return CURLRESOLV_TIMEDOUT;
}
/* This allows us to time-out from the name resolver, as the timeout
will generate a signal and we will siglongjmp() from that here.
This technique has problems (see alarmfunc).