diff options
author | Juliusz Chroboczek <jch@pps.jussieu.fr> | 2012-02-09 13:35:27 +0100 |
---|---|---|
committer | Paul Jakma <paul@quagga.net> | 2012-03-25 17:06:53 +0100 |
commit | 82509bfde09b15ac8856a374aac6d5d62b91f54a (patch) | |
tree | c9e45fb9cba3fd9b64357537e8fe342bb9fe38ad | |
parent | b6475ecb14abab936919894050f9ca47415d0f48 (diff) |
babeld: Use quagga_gettime.
-rw-r--r-- | babeld/kernel.c | 39 |
1 files changed, 1 insertions, 38 deletions
diff --git a/babeld/kernel.c b/babeld/kernel.c index 4b5bd7b2..c31f617b 100644 --- a/babeld/kernel.c +++ b/babeld/kernel.c @@ -50,44 +50,7 @@ THE SOFTWARE. int gettime(struct timeval *tv) { - int rc; - static time_t offset = 0, previous = 0; - -#if defined(_POSIX_TIMERS) && _POSIX_TIMERS > 0 && defined(CLOCK_MONOTONIC) - static int have_posix_clocks = -1; - - if(UNLIKELY(have_posix_clocks < 0)) { - struct timespec ts; - rc = clock_gettime(CLOCK_MONOTONIC, &ts); - if(rc < 0) { - have_posix_clocks = 0; - } else { - have_posix_clocks = 1; - } - } - - if(have_posix_clocks) { - struct timespec ts; - int rc; - rc = clock_gettime(CLOCK_MONOTONIC, &ts); - if(rc < 0) - return rc; - tv->tv_sec = ts.tv_sec; - tv->tv_usec = ts.tv_nsec / 1000; - return rc; - } -#endif - - rc = gettimeofday(tv, NULL); - if(rc < 0) - return rc; - tv->tv_sec += offset; - if(UNLIKELY(previous > tv->tv_sec)) { - offset += previous - tv->tv_sec; - tv->tv_sec = previous; - } - previous = tv->tv_sec; - return rc; + return quagga_gettime(QUAGGA_CLK_MONOTONIC, tv); } /* If /dev/urandom doesn't exist, this will fail with ENOENT, which the |