diff options
Diffstat (limited to 'src/util/os_time.c')
-rw-r--r-- | src/util/os_time.c | 20 |
1 files changed, 9 insertions, 11 deletions
diff --git a/src/util/os_time.c b/src/util/os_time.c index 22195c5a669..92fc3638ddb 100644 --- a/src/util/os_time.c +++ b/src/util/os_time.c @@ -33,13 +33,11 @@ */ #include "os_time.h" - -/* TODO: fix this dependency */ -#include "gallium/include/pipe/p_config.h" +#include "detect_os.h" #include "util/u_atomic.h" -#if defined(PIPE_OS_UNIX) +#if DETECT_OS_UNIX # include <unistd.h> /* usleep */ # include <time.h> /* timeval */ # include <sys/time.h> /* timeval */ @@ -55,13 +53,13 @@ int64_t os_time_get_nano(void) { -#if defined(PIPE_OS_LINUX) || defined(PIPE_OS_BSD) +#if DETECT_OS_LINUX || DETECT_OS_BSD struct timespec tv; clock_gettime(CLOCK_MONOTONIC, &tv); return tv.tv_nsec + tv.tv_sec*INT64_C(1000000000); -#elif defined(PIPE_OS_UNIX) +#elif DETECT_OS_UNIX struct timeval tv; gettimeofday(&tv, NULL); @@ -95,13 +93,13 @@ os_time_get_nano(void) void os_time_sleep(int64_t usecs) { -#if defined(PIPE_OS_LINUX) +#if DETECT_OS_LINUX struct timespec time; time.tv_sec = usecs / 1000000; time.tv_nsec = (usecs % 1000000) * 1000; while (clock_nanosleep(CLOCK_MONOTONIC, 0, &time, &time) == EINTR); -#elif defined(PIPE_OS_UNIX) +#elif DETECT_OS_UNIX usleep(usecs); #elif DETECT_OS_WINDOWS @@ -148,7 +146,7 @@ os_wait_until_zero(volatile int *var, uint64_t timeout) if (timeout == OS_TIMEOUT_INFINITE) { while (p_atomic_read(var)) { -#if defined(PIPE_OS_UNIX) +#if DETECT_OS_UNIX sched_yield(); #endif } @@ -162,7 +160,7 @@ os_wait_until_zero(volatile int *var, uint64_t timeout) if (os_time_timeout(start_time, end_time, os_time_get_nano())) return false; -#if defined(PIPE_OS_UNIX) +#if DETECT_OS_UNIX sched_yield(); #endif } @@ -184,7 +182,7 @@ os_wait_until_zero_abs_timeout(volatile int *var, int64_t timeout) if (os_time_get_nano() >= timeout) return false; -#if defined(PIPE_OS_UNIX) +#if DETECT_OS_UNIX sched_yield(); #endif } |