38 cond_init(&m_condition);
43 cond_destroy(&m_condition);
48 cond_broadcast(&m_condition);
53 cond_signal(&m_condition);
56 bool wait(
Mutex& lock, P& predicate)
59 cond_wait(&m_condition, lock.native_handle());
63 bool wait_for(
Mutex& lock,
unsigned millisec, P& predicate)
69 millisec = _timeout.time_left();
72 cond_timedwait(&m_condition, lock.native_handle(), millisec);
79 cond_timedwait(&m_condition, lock.native_handle(), timeout.time_left());
80 return (timeout.time_left() > 0 ?
true :
false);
84 Condition(
const Condition<P>& other) =
delete;
85 Condition<P>& operator=(
const Condition<P>& other) =
delete;
88 condition_t m_condition;