diff options
| author | Yang Tse <yangsita@gmail.com> | 2008-05-15 00:00:19 +0000 | 
|---|---|---|
| committer | Yang Tse <yangsita@gmail.com> | 2008-05-15 00:00:19 +0000 | 
| commit | cfc1d037ff16f7c5b6c90a49896e51baa7aff68f (patch) | |
| tree | 5c32f6d0b3763a133bd37ce07cce5d3fcb814eef | |
| parent | c24ed07596abdb56e0f3511178755ca63cc8c746 (diff) | |
use same time source for timeout initialization and processing
| -rw-r--r-- | ares/ares_init.c | 5 | 
1 files changed, 4 insertions, 1 deletions
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));  | 
