48 bool wait(QDeadlineTimer timeout = QDeadlineTimer::Forever);
49 void wakeUp()
noexcept;
57 Q_ASSERT(refCount.loadRelaxed() >= 0);
60 c = refCount.loadRelaxed();
63 }
while (!refCount.testAndSetRelaxed(c, c + 1));
64 Q_ASSERT(refCount.loadRelaxed() >= 0);
69 Q_ASSERT(refCount.loadRelaxed() >= 0);
70 if (!refCount.deref())
72 Q_ASSERT(refCount.loadRelaxed() >= 0);
75 static QMutexPrivate *allocate();
78 QAtomicInt possiblyUnlocked;
79
80
81
82
83 enum { BigNumber = 0x100000 };
84 void derefWaiters(
int value)
noexcept;
87#if defined(Q_OS_DARWIN)
88 semaphore_t mach_semaphore;
89#elif defined(Q_OS_UNIX)