diff options
Diffstat (limited to 'src/lib/time.c')
-rw-r--r-- | src/lib/time.c | 65 |
1 files changed, 0 insertions, 65 deletions
diff --git a/src/lib/time.c b/src/lib/time.c deleted file mode 100644 index 37ade2cc..00000000 --- a/src/lib/time.c +++ /dev/null @@ -1,65 +0,0 @@ -/* vi: set sw=4 ts=4: */ -/* - * Utility routines. - * - * Licensed under GPL version 2, see file LICENSE in this tarball for details. - */ -#include "abrtlib.h" - -#define ENABLE_MONOTONIC_SYSCALL 1 - -#if ENABLE_MONOTONIC_SYSCALL - -#include <sys/syscall.h> -/* Old glibc (< 2.3.4) does not provide this constant. We use syscall - * directly so this definition is safe. */ -#ifndef CLOCK_MONOTONIC -#define CLOCK_MONOTONIC 1 -#endif - -/* libc has incredibly messy way of doing this, - * typically requiring -lrt. We just skip all this mess */ -static void get_mono(struct timespec *ts) -{ - if (syscall(__NR_clock_gettime, CLOCK_MONOTONIC, ts)) - error_msg_and_die("clock_gettime(MONOTONIC) failed"); -} -unsigned long long monotonic_ns(void) -{ - struct timespec ts; - get_mono(&ts); - return ts.tv_sec * 1000000000ULL + ts.tv_nsec; -} -unsigned long long monotonic_us(void) -{ - struct timespec ts; - get_mono(&ts); - return ts.tv_sec * 1000000ULL + ts.tv_nsec/1000; -} -unsigned monotonic_sec(void) -{ - struct timespec ts; - get_mono(&ts); - return ts.tv_sec; -} - -#else - -unsigned long long monotonic_ns(void) -{ - struct timeval tv; - gettimeofday(&tv, NULL); - return tv.tv_sec * 1000000000ULL + tv.tv_usec * 1000; -} -unsigned long long monotonic_us(void) -{ - struct timeval tv; - gettimeofday(&tv, NULL); - return tv.tv_sec * 1000000ULL + tv.tv_usec; -} -unsigned monotonic_sec(void) -{ - return time(NULL); -} - -#endif |