From ee1595dcd54c4e8c56045ec0b3762d6ec45fc178 Mon Sep 17 00:00:00 2001
From: Daniel Stenberg <daniel@haxx.se>
Date: Wed, 31 Mar 2004 20:50:01 +0000
Subject: [PATCH] Roy Shan fixed a case that prevented ares name resolve
 timeouts to occur.

---
 lib/hostip.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/lib/hostip.c b/lib/hostip.c
index ab372c40a3..8e02e47010 100644
--- a/lib/hostip.c
+++ b/lib/hostip.c
@@ -587,8 +587,9 @@ CURLcode Curl_is_resolved(struct connectdata *conn,
   count = select(nfds, &read_fds, &write_fds, NULL,
                  (struct timeval *)&tv);
 
-  if(count)
-    ares_process(data->state.areschannel, &read_fds, &write_fds);
+  /* Call ares_process() unconditonally here, even if we simply timed out
+     above, as otherwise the ares name resolve won't timeout! */
+  ares_process(data->state.areschannel, &read_fds, &write_fds);
 
   *dns = NULL;
 
-- 
GitLab