X-Git-Url: https://git.lttng.org/?p=lttng-tools.git;a=blobdiff_plain;f=src%2Fcommon%2Fcompat%2Ftime.h;h=eb67d39ec74bcb3ef5b1ad877f0c41d25e172423;hp=f51075dc39c3e35a3ebd13ad0fc9b61b0bb2a7e4;hb=cb8d0d245b5739e7493dcf27314f6e42615f14b1;hpb=389fbf04b41e2002be44a1e3392bfade2f1deeef diff --git a/src/common/compat/time.h b/src/common/compat/time.h index f51075dc3..eb67d39ec 100644 --- a/src/common/compat/time.h +++ b/src/common/compat/time.h @@ -1,23 +1,8 @@ /* * Copyright (C) 2016 Michael Jeanson * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: + * SPDX-License-Identifier: MIT * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. */ #ifndef _COMPAT_TIME_H @@ -26,12 +11,24 @@ #include #ifdef __APPLE__ + typedef uint64_t timer_t; -typedef int clockid_t; #include #include +#include +#undef NSEC_PER_SEC +#undef NSEC_PER_MSEC +#undef NSEC_PER_USEC +#undef USEC_PER_SEC + +#endif /* __APPLE__ */ + +/* macOS/OS X 10.12 (Sierra) and up provide clock_gettime() */ +#if defined(__APPLE__) && !defined(LTTNG_HAVE_CLOCK_GETTIME) + +typedef int clockid_t; #define CLOCK_REALTIME CALENDAR_CLOCK #define CLOCK_MONOTONIC SYSTEM_CLOCK @@ -56,8 +53,8 @@ int lttng_clock_gettime(clockid_t clk_id, struct timespec *tp) goto deallocate; } - tp->tv_sec = now.tv_sec; - tp->tv_nsec = now.tv_nsec; + tp->tv_sec = now.tv_sec; + tp->tv_nsec = now.tv_nsec; deallocate: mach_port_deallocate(mach_task_self(), clock); @@ -65,7 +62,7 @@ end: return ret; } -#else /* __APPLE__ */ +#else /* __APPLE__ && !LTTNG_HAVE_CLOCK_GETTIME */ static inline int lttng_clock_gettime(clockid_t clk_id, struct timespec *tp) @@ -73,6 +70,6 @@ int lttng_clock_gettime(clockid_t clk_id, struct timespec *tp) return clock_gettime(clk_id, tp); } -#endif /* __APPLE__ */ +#endif /* __APPLE__ && !LTTNG_HAVE_CLOCK_GETTIME */ #endif /* _COMPAT_TIME_H */