From ea659643ee1b0c46e473619034cd130440405ac4 Mon Sep 17 00:00:00 2001 From: Narayan Kamath Date: Thu, 10 Apr 2014 18:40:55 +0100 Subject: [PATCH] HAVE_POSIX_CLOCKS doesn't imply CLOCK_BOOTTIME. HAVE_POSIX_CLOCKS imples clock_gettime,settime and CLOCK_REALTIME / CLOCK_MONOTONIC. CLOCK_BOOTTIME appears only on newer versions of glibc and might only be supported on newer kernels. Change-Id: I66e724a3593538c3b80de2c5f81a964d3fa96eaf --- libutils/Timers.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/libutils/Timers.cpp b/libutils/Timers.cpp index 5293cd2a8..a431e9232 100644 --- a/libutils/Timers.cpp +++ b/libutils/Timers.cpp @@ -34,7 +34,7 @@ nsecs_t systemTime(int clock) { -#if defined(HAVE_POSIX_CLOCKS) +#if defined(HAVE_ANDROID_OS) static const clockid_t clocks[] = { CLOCK_REALTIME, CLOCK_MONOTONIC, @@ -47,7 +47,9 @@ nsecs_t systemTime(int clock) clock_gettime(clocks[clock], &t); return nsecs_t(t.tv_sec)*1000000000LL + t.tv_nsec; #else - // we don't support the clocks here. + // Clock support varies widely across hosts. Mac OS doesn't support + // posix clocks, older glibcs don't support CLOCK_BOOTTIME and Windows + // is windows. struct timeval t; t.tv_sec = t.tv_usec = 0; gettimeofday(&t, NULL);