#include "util/futex.h"
#include "util/list.h"
#include "util/macros.h"
+#include "util/os_time.h"
#include "util/u_atomic.h"
#include "util/u_thread.h"
#define UTIL_QUEUE_INIT_USE_MINIMUM_PRIORITY (1 << 0)
#define UTIL_QUEUE_INIT_RESIZE_IF_FULL (1 << 1)
-#if defined(__GNUC__) && defined(HAVE_FUTEX)
+#if defined(__GNUC__) && defined(HAVE_LINUX_FUTEX_H)
#define UTIL_QUEUE_FENCE_FUTEX
#else
#define UTIL_QUEUE_FENCE_STANDARD
if (util_queue_fence_is_signalled(fence))
return true;
+ if (abs_timeout == (int64_t)OS_TIMEOUT_INFINITE) {
+ _util_queue_fence_wait(fence);
+ return true;
+ }
+
return _util_queue_fence_wait_timeout(fence, abs_timeout);
}