diff options
Diffstat (limited to 'src/time.c')
-rw-r--r-- | src/time.c | 12 |
1 files changed, 8 insertions, 4 deletions
@@ -16,6 +16,13 @@ #include <stdlib.h> #include <unistd.h> +#if defined(_POSIX_TIMERS) && (_POSIX_TIMERS > 0) && (defined _POSIX_MONOTONIC_CLOCK) +#include <time.h> +#elif defined(__riscos) +#include <oslib/os.h> +#else +#include <sys/time.h> +#endif #include "nsutils/time.h" /* exported interface documented in nsutils/time.h */ @@ -25,20 +32,17 @@ nsuerror nsu_getmonotonic_ms(uint64_t *current_out) static uint64_t prev = 0; /* previous time so we never go backwards */ #if defined(_POSIX_TIMERS) && (_POSIX_TIMERS > 0) && (defined _POSIX_MONOTONIC_CLOCK) -#include <time.h> struct timespec tp; clock_gettime(CLOCK_MONOTONIC, &tp); current = (tp.tv_sec * 1000) + (tp.tv_nsec / 1000000); -#elif defined(riscos) -#include "oslib/os.h" +#elif defined(__riscos) os_t time; time = os_read_monotonic_time(); current = time * 10; #else #warning "Using dodgy gettimeofday() fallback" -#include <sys/time.h> /** \todo Implement this properly! */ struct timeval tv; |