From: Yang Tse <yangsita@gmail.com>
Date: Thu, 15 May 2008 00:00:19 +0000 (+0000)
Subject: use same time source for timeout initialization and processing
X-Git-Tag: cares-1_5_2~54
X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=cfc1d037ff16f7c5b6c90a49896e51baa7aff68f;p=curl

use same time source for timeout initialization and processing
---

diff --git a/ares/ares_init.c b/ares/ares_init.c
index 278181362..0b9637105 100644
--- a/ares/ares_init.c
+++ b/ares/ares_init.c
@@ -108,6 +108,7 @@ int ares_init_options(ares_channel *channelptr, struct ares_options *options,
   int i;
   int status = ARES_SUCCESS;
   struct server_state *server;
+  struct timeval now;
 
 #ifdef CURLDEBUG
   const char *env = getenv("CARES_MEMDEBUG");
@@ -125,6 +126,8 @@ int ares_init_options(ares_channel *channelptr, struct ares_options *options,
     return ARES_ENOMEM;
   }
 
+  now = ares__tvnow();
+
   /* Set everything to distinguished values so we know they haven't
    * been set yet.
    */
@@ -147,7 +150,7 @@ int ares_init_options(ares_channel *channelptr, struct ares_options *options,
   channel->sock_state_cb = NULL;
   channel->sock_state_cb_data = NULL;
 
-  channel->last_timeout_processed = (long)time(NULL);
+  channel->last_timeout_processed = (time_t)now.tv_sec;
 
   /* Initialize our lists of queries */
   ares__init_list_head(&(channel->all_queries));