utils: use clock_get_time() for clock_gettime() on Apple.

It turns out that mach_absolute_time() is not monotonic at all.  While
at it, convert the CLOCK_REALTIME implementation to using
clock_get_time() as well.

Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
This commit is contained in:
Yousong Zhou 2015-01-21 21:21:28 +08:00 committed by Felix Fietkau
parent 08c27ceb01
commit ad9aa180d3
2 changed files with 42 additions and 28 deletions

11
utils.h
View file

@ -58,10 +58,11 @@ extern int __BUILD_BUG_ON_CONDITION_FAILED;
#ifdef __APPLE__
#define CLOCK_REALTIME 0
#define CLOCK_MONOTONIC 1
#include <mach/clock_types.h>
#define CLOCK_REALTIME CALENDAR_CLOCK
#define CLOCK_MONOTONIC SYSTEM_CLOCK
void clock_gettime(int type, struct timespec *tv);
int clock_gettime(int type, struct timespec *tv);
#endif
@ -159,6 +160,10 @@ static inline uint16_t __u_bswap16(uint16_t val)
#define __constructor __attribute__((constructor))
#endif
#ifndef __destructor
#define __destructor __attribute__((destructor))
#endif
#ifndef __hidden
#define __hidden __attribute__((visibility("hidden")))
#endif