37 std::unique_lock<std::mutex> lk(
fMutex);
60 if (millisec <= 0)
return Wait();
63 std::unique_lock<std::mutex> lk(
fMutex);
67 std::cv_status cvs = std::cv_status::timeout;
69 cvs =
fCond.wait_for(lk,std::chrono::milliseconds(millisec));
70 }
while (
fWakeups < 1 && cvs != std::cv_status::timeout);
71 if (cvs == std::cv_status::timeout) {
89 std::unique_lock<std::mutex> lk(
fMutex);
105 std::unique_lock<std::mutex> lk(
fMutex);
Int_t TryWait()
If the semaphore value is > 0 then decrement it and return 0.
std::condition_variable fCond
Int_t Wait()
If the semaphore value is > 0 then decrement it and carry on, else block, waiting on the condition un...
TSemaphore(const TSemaphore &s)=delete
Int_t Post()
Increment the value of the semaphore.