util/os_time: use detect_os.h to uncouple from gallium
[mesa.git] / src / util / os_time.c
index 22195c5a6699067356f75f119a57c3dac80f5dee..92fc3638ddb8bec2994d99b2693f76c401d491a3 100644 (file)
  */
 
 #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 */
 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
    }