From: Daniel Stenberg Date: Tue, 17 Oct 2006 08:06:27 +0000 (+0000) Subject: Jeff helped me pinpoint that we didn't properly set the expire timer during X-Git-Tag: curl-7_16_0~81 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7a710b4970a183a2f0987419706758ffd918cecc;p=thirdparty%2Fcurl.git Jeff helped me pinpoint that we didn't properly set the expire timer during c-ares name resolves, but now we do! --- diff --git a/lib/hostares.c b/lib/hostares.c index 035d0e2229..1db0f4320c 100644 --- a/lib/hostares.c +++ b/lib/hostares.c @@ -75,6 +75,7 @@ #include "share.h" #include "strerror.h" #include "url.h" +#include "multiif.h" #include "connect.h" /* for the Curl_sockerrno() proto */ #define _MPRINTF_REPLACE /* use our functions only */ @@ -109,9 +110,20 @@ int Curl_resolv_getsock(struct connectdata *conn, int numsocks) { + struct timeval maxtime; + struct timeval timeout; int max = ares_getsock(conn->data->state.areschannel, (int *)socks, numsocks); + + maxtime.tv_sec = CURL_TIMEOUT_RESOLVE; + maxtime.tv_usec = 0; + + ares_timeout(conn->data->state.areschannel, &maxtime, &timeout); + + Curl_expire(conn->data, + (timeout.tv_sec * 1000) + (timeout.tv_usec/1000) ); + return max; }