diff options
author | Vsevolod Stakhov <vsevolod@highsecure.ru> | 2017-08-06 18:09:15 +0100 |
---|---|---|
committer | Vsevolod Stakhov <vsevolod@highsecure.ru> | 2017-08-06 18:09:15 +0100 |
commit | 3f97820a4301e3062561e2a6339c111a208fb4fa (patch) | |
tree | 498c870bafc42ffd235882309e996181eb1c2964 | |
parent | 9673734623b8972c86179b2c71ef6d2b353ee07f (diff) | |
download | rspamd-3f97820a4301e3062561e2a6339c111a208fb4fa.tar.gz rspamd-3f97820a4301e3062561e2a6339c111a208fb4fa.zip |
[Minor] Use clock_gettime instead of gettimeofday
-rw-r--r-- | src/libutil/util.c | 9 | ||||
-rw-r--r-- | src/libutil/util.h | 1 |
2 files changed, 9 insertions, 1 deletions
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) |