*/
#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);
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
if (timeout == OS_TIMEOUT_INFINITE) {
while (p_atomic_read(var)) {
-#if defined(PIPE_OS_UNIX)
+#if DETECT_OS_UNIX
sched_yield();
#endif
}
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
}
if (os_time_get_nano() >= timeout)
return false;
-#if defined(PIPE_OS_UNIX)
+#if DETECT_OS_UNIX
sched_yield();
#endif
}