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:
parent
08c27ceb01
commit
ad9aa180d3
2 changed files with 42 additions and 28 deletions
11
utils.h
11
utils.h
|
@ -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
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue