projects
/
userspace-rcu.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fix: clock_gettime on macOs
[userspace-rcu.git]
/
include
/
urcu
/
arch
/
generic.h
diff --git
a/include/urcu/arch/generic.h
b/include/urcu/arch/generic.h
index 4b56ed7aaff00788a5fb4fbce712a146c5198a5d..be6e41e24d88a40f16d07ae08d7d391aeb650821 100644
(file)
--- a/
include/urcu/arch/generic.h
+++ b/
include/urcu/arch/generic.h
@@
-153,8
+153,11
@@
extern "C" {
#ifndef HAS_CAA_GET_CYCLES
#define HAS_CAA_GET_CYCLES
#ifndef HAS_CAA_GET_CYCLES
#define HAS_CAA_GET_CYCLES
-#if
def CONFIG_RCU_HAVE_CLOCK_GETTIME
+#if
defined(__APPLE__)
+#include <mach/mach.h>
+#include <mach/clock.h>
+#include <mach/mach_time.h>
#include <time.h>
#include <stdint.h>
#include <time.h>
#include <stdint.h>
@@
-162,18
+165,21
@@
typedef uint64_t caa_cycles_t;
static inline caa_cycles_t caa_get_cycles (void)
{
static inline caa_cycles_t caa_get_cycles (void)
{
- struct timespec ts;
+ mach_timespec_t ts = { 0, 0 };
+ static clock_serv_t clock_service;
- if (caa_unlikely(clock_gettime(CLOCK_MONOTONIC, &ts)))
+ if (caa_unlikely(!clock_service)) {
+ if (host_get_clock_service(mach_host_self(),
+ SYSTEM_CLOCK, &clock_service))
+ return -1ULL;
+ }
+ if (caa_unlikely(clock_get_time(clock_service, &ts)))
return -1ULL;
return ((uint64_t) ts.tv_sec * 1000000000ULL) + ts.tv_nsec;
}
return -1ULL;
return ((uint64_t) ts.tv_sec * 1000000000ULL) + ts.tv_nsec;
}
-#elif defined(
__APPLE__
)
+#elif defined(
CONFIG_RCU_HAVE_CLOCK_GETTIME
)
-#include <mach/mach.h>
-#include <mach/clock.h>
-#include <mach/mach_time.h>
#include <time.h>
#include <stdint.h>
#include <time.h>
#include <stdint.h>
@@
-181,15
+187,9
@@
typedef uint64_t caa_cycles_t;
static inline caa_cycles_t caa_get_cycles (void)
{
static inline caa_cycles_t caa_get_cycles (void)
{
- mach_timespec_t ts = { 0, 0 };
- static clock_serv_t clock_service;
+ struct timespec ts;
- if (caa_unlikely(!clock_service)) {
- if (host_get_clock_service(mach_host_self(),
- SYSTEM_CLOCK, &clock_service))
- return -1ULL;
- }
- if (caa_unlikely(clock_get_time(clock_service, &ts)))
+ if (caa_unlikely(clock_gettime(CLOCK_MONOTONIC, &ts)))
return -1ULL;
return ((uint64_t) ts.tv_sec * 1000000000ULL) + ts.tv_nsec;
}
return -1ULL;
return ((uint64_t) ts.tv_sec * 1000000000ULL) + ts.tv_nsec;
}
This page took
0.023878 seconds
and
4
git commands to generate.