18 #ifndef FOEDUS_SOC_SHARED_RENDEZVOUS_HPP_
19 #define FOEDUS_SOC_SHARED_RENDEZVOUS_HPP_
65 bool wait_for(uint64_t timeout_nanosec);
77 volatile bool signaled_;
85 #endif // FOEDUS_SOC_SHARED_RENDEZVOUS_HPP_
A one-time single-producer multiple-consumer event synchronization in shared memory for multiple proc...
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.
A polling-wait mechanism that can be placed in shared memory and used from multiple processes...
void signal()
Notify all waiters that the event has happened.
bool is_initialized() const
#define CXX11_FINAL
Used in public headers in place of "final" of C++11.
bool is_signaled_weak() const
weak version without fence.
#define CXX11_FUNC_DELETE
Used in public headers in place of " = delete" of C++11.
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.
void memory_fence_acquire()
Equivalent to std::atomic_thread_fence(std::memory_order_acquire).