18#include <private/qglobal_p.h>
24#define QT_ALWAYS_USE_FUTEX
31template <
typename Atomic>
32inline void futexWait(Atomic &futex,
typename Atomic::Type expectedValue)
35 WaitOnAddress(&futex, &expectedValue,
sizeof(expectedValue), INFINITE);
38template <
typename Atomic>
41 using namespace std::chrono;
43 return r || GetLastError() != ERROR_TIMEOUT;
47 WakeByAddressAll(&futex);
51 WakeByAddressSingle(&futex);
qint64 remainingTime() const noexcept
Returns the remaining time in this QDeadlineTimer object in milliseconds.
Combined button and popup list for selecting options.
void futexRelease(void *, void *=nullptr)
void futexAcquire(void *, void *=nullptr)
void futexWakeOne(Atomic &futex)
void futexWait(Atomic &futex, typename Atomic::Type expectedValue)
void futexWakeAll(Atomic &futex)
constexpr bool futexAvailable()
QDeadlineTimer deadline(30s)