From: Vsevolod Stakhov Date: Sun, 6 Aug 2017 17:09:15 +0000 (+0100) Subject: [Minor] Use clock_gettime instead of gettimeofday X-Git-Tag: 1.7.0~760 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=3f97820a4301e3062561e2a6339c111a208fb4fa;p=rspamd.git [Minor] Use clock_gettime instead of gettimeofday --- diff --git a/src/libutil/util.c b/src/libutil/util.c index c8c446138..54cacef44 100644 --- a/src/libutil/util.c +++ b/src/libutil/util.c @@ -1902,14 +1902,21 @@ gdouble rspamd_get_calendar_ticks (void) { gdouble res; +#ifdef HAVE_CLOCK_GETTIME + struct timespec ts; + + clock_gettime (CLOCK_REALTIME, &ts); + res = ts_to_double (&ts); +#else struct timeval tv; if (gettimeofday (&tv, NULL) == 0) { - res = (gdouble)tv.tv_sec + tv.tv_usec / 1e6f; + res = tv_to_double (&tv); } else { res = time (NULL); } +#endif return res; } diff --git a/src/libutil/util.h b/src/libutil/util.h index f07d166c5..9f42d6c92 100644 --- a/src/libutil/util.h +++ b/src/libutil/util.h @@ -207,6 +207,7 @@ void g_ptr_array_insert (GPtrArray *array, gint index_, gpointer data); #define tv_to_double(tv) ((double)(tv)->tv_sec + (tv)->tv_usec / 1.0e6) #define ts_to_usec(ts) ((ts)->tv_sec * 1000000LLU + \ (ts)->tv_nsec / 1000LLU) +#define ts_to_double(tv) ((double)(tv)->tv_sec + (tv)->tv_nsec / 1.0e9) /** * Try to allocate a file on filesystem (using fallocate or posix_fallocate)