Commit cfc1d037 authored by Yang Tse's avatar Yang Tse
Browse files

use same time source for timeout initialization and processing

parent c24ed075
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -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));