62 bool received = cond_.
timedwait(demand, timeout_nanosec / 1000);
bool is_signaled() const
returns whether the even has signaled.
Root package of FOEDUS (Fast Optimistic Engine for Data Unification Services).
bool wait_for(uint64_t timeout_nanosec)
Block until the event happens or the given period elapses.
void wait(uint64_t demanded_ticket, uint64_t polling_spins=kDefaultPollingSpins, uint64_t max_interval_us=kDefaultPollingMaxIntervalUs) const
Unconditionally wait for signal.
void signal()
Notify all waiters that the event has happened.
bool is_initialized() const
uint64_t acquire_ticket() const
Gives the ticket to.
bool is_signaled_weak() const
weak version without fence.
Atomic fence methods and load/store with fences that work for both C++11/non-C++11 code...
void wait()
Block until the event happens.
#define ASSERT_ND(x)
A warning-free wrapper macro of assert() that has no performance effect in release mode even when 'x'...
bool timedwait(uint64_t demanded_ticket, uint64_t timeout_microsec, uint64_t polling_spins=kDefaultPollingSpins, uint64_t max_interval_us=kDefaultPollingMaxIntervalUs) const
Wait for signal up to the given timeout.
void signal()
Signal it to let waiters exit.