121 DWORD dwMillisecondsNow = (
DWORD)((secNow * 1000) + (nanosecNow / 1000000));
122 DWORD dwMilliseconds = (
DWORD)((secs * 1000) + (nanoSecs / 1000000));
124 DWORD dwTimeWait = (
DWORD)(dwMilliseconds - dwMillisecondsNow);
135 ret = WaitForSingleObject(
fCond.
sema_, dwTimeWait);
163 if (ret == WAIT_TIMEOUT)
194 int have_waiters = 0;
unsigned long ULong_t
Unsigned long integer 4 bytes (unsigned long). Size depends on architecture.
The TTimeStamp encapsulates seconds and ns since EPOCH.
Int_t TimedWait(ULong_t secs, ULong_t nanoSecs=0) override
TimedWait() is given an absolute time to wait until.
Int_t Signal() override
If one or more threads have called Wait(), Signal() wakes up at least one of them,...
virtual ~TWin32Condition()
TCondition dtor.
TWin32Condition(TMutexImp *m)
Create Condition variable.
Int_t Broadcast() override
Broadcast is like signal but wakes all threads which have called Wait().
Int_t Wait() override
Wait for the condition variable to be signalled.
CRITICAL_SECTION fCritSect
CRITICAL_SECTION waiters_count_lock_