diff options
author | Daniel Lange <DLange@git.local> | 2021-01-11 20:43:27 +0100 |
---|---|---|
committer | Daniel Lange <DLange@git.local> | 2021-01-11 20:43:27 +0100 |
commit | c55320e9e2a8916e911bcd39ab37b79e3a7d03b2 (patch) | |
tree | d6be9a09fdf7d6dc155de3429a70697ee2bb43b0 /Compat.c | |
parent | 65357c8c46154de4e4eca14075bfe5523bb5fc14 (diff) | |
download | debian_htop-c55320e9e2a8916e911bcd39ab37b79e3a7d03b2.tar.gz debian_htop-c55320e9e2a8916e911bcd39ab37b79e3a7d03b2.tar.bz2 debian_htop-c55320e9e2a8916e911bcd39ab37b79e3a7d03b2.zip |
New upstream version 3.0.5upstream/3.0.5
Diffstat (limited to 'Compat.c')
-rw-r--r-- | Compat.c | 34 |
1 files changed, 34 insertions, 0 deletions
@@ -11,12 +11,18 @@ in the source distribution for its full text. #include <errno.h> #include <fcntl.h> // IWYU pragma: keep +#include <time.h> #include <unistd.h> #include <sys/stat.h> #include <sys/types.h> // IWYU pragma: keep #include "XUtils.h" // IWYU pragma: keep +#ifdef HAVE_HOST_GET_CLOCK_SERVICE +#include <mach/clock.h> +#include <mach/mach.h> +#endif + int Compat_faccessat(int dirfd, const char* pathname, @@ -117,3 +123,31 @@ ssize_t Compat_readlinkat(int dirfd, #endif } + +int Compat_clock_monotonic_gettime(struct timespec *tp) { + +#if defined(HAVE_CLOCK_GETTIME) + + return clock_gettime(CLOCK_MONOTONIC, tp); + +#elif defined(HAVE_HOST_GET_CLOCK_SERVICE) + + clock_serv_t cclock; + mach_timespec_t mts; + + host_get_clock_service(mach_host_self(), SYSTEM_CLOCK, &cclock); + clock_get_time(cclock, &mts); + mach_port_deallocate(mach_task_self(), cclock); + + tp->tv_sec = mts.tv_sec; + tp->tv_nsec = mts.tv_nsec; + + return 0; + +#else + +#error No Compat_clock_monotonic_gettime() implementation! + +#endif + +} |