diff --git a/evdns.c b/evdns.c index 085ffa62..b61d0f2f 100644 --- a/evdns.c +++ b/evdns.c @@ -799,7 +799,11 @@ transaction_id_pick(void) { #ifdef DNS_USE_CPU_CLOCK_FOR_ID struct timespec ts; u16 trans_id; - if (clock_gettime(CLOCK_MONOTONIC, &ts)) +#ifdef CLOCK_MONOTONIC + if (clock_gettime(CLOCK_MONOTONIC, &ts) == -1) +#else + if (clock_gettime(CLOCK_REALTIME, &ts) == -1) +#endif event_err(1, "clock_gettime"); trans_id = ts.tv_nsec & 0xffff; #endif diff --git a/event.c b/event.c index b5bda5c4..864d4d26 100644 --- a/event.c +++ b/event.c @@ -149,8 +149,12 @@ gettime(struct timeval *tp) { #ifdef HAVE_CLOCK_GETTIME struct timespec ts; - + +#ifdef HAVE_CLOCK_MONOTONIC if (clock_gettime(CLOCK_MONOTONIC, &ts) == -1) +#else + if (clock_gettime(CLOCK_REALTIME, &ts) == -1) +#endif return (-1); tp->tv_sec = ts.tv_sec; tp->tv_usec = ts.tv_nsec / 1000;