|
Embedded Artistry Framework
Embedded Systems C++ Framework
|
#include <posix_condition_variable.hpp>

Public Member Functions | |
| ConditionVariable ()=default | |
| ~ConditionVariable () noexcept | |
| bool | wait (embvm::VirtualMutex *mutex) noexcept final |
| Blocks the current thread until the condition variable is woken up or after the specified timeout duration. More... | |
| bool | wait (embvm::VirtualMutex *mutex, const embvm::os_timeout_t &timeout) noexcept final |
| bool | timed_wait (embvm::VirtualMutex *mutex, timespec timeout) noexcept |
| void | signal () noexcept final |
| notifies one waiting thread More... | |
| void | broadcast () noexcept final |
| Notify all waiting threads. More... | |
| embvm::cv::handle_t | native_handle () const noexcept final |
| bool | wait (embvm::VirtualMutex *mutex, const embvm::cv::func_t &predicate) noexcept |
| bool | wait (embvm::VirtualMutex *mutex, const embvm::cv::func_t &predicate, const embvm::os_timeout_t &timeout=embvm::OS_WAIT_FOREVER) noexcept |
| void | notify_one () noexcept |
| Alias for signal so we can work with STL types. More... | |
| void | notify_all () noexcept |
| Alias for broadcast so we can work with STL types. More... | |
Private Attributes | |
| pthread_cond_t | handle_ = PTHREAD_COND_INITIALIZER |
|
default |
|
inlinenoexcept |
|
inlinefinalvirtualnoexcept |
Notify all waiting threads.
Implements embvm::VirtualConditionVariable.
References assert, handle_, and r.
Referenced by os::posix::EventFlag::set(), and os::posix::EventFlag::setFromISR().
|
inlinefinalvirtualnoexcept |
Implements embvm::VirtualConditionVariable.
References handle_.
|
inlinenoexceptinherited |
Alias for broadcast so we can work with STL types.
References embvm::VirtualConditionVariable::broadcast().
|
inlinenoexceptinherited |
Alias for signal so we can work with STL types.
References embvm::VirtualConditionVariable::signal().
|
inlinefinalvirtualnoexcept |
notifies one waiting thread
Implements embvm::VirtualConditionVariable.
|
inlinenoexcept |
|
inlinefinalvirtualnoexcept |
Blocks the current thread until the condition variable is woken up or after the specified timeout duration.
Implements embvm::VirtualConditionVariable.
References assert, handle_, and r.
Referenced by os::posix::EventFlag::get(), and wait().
|
inlinefinalvirtualnoexcept |
Implements embvm::VirtualConditionVariable.
References embvm::OS_WAIT_FOREVER, timed_wait(), embutil::timepointToTimespec(), and wait().
|
inlinenoexceptinherited |
References embvm::VirtualConditionVariable::wait().
|
inlinenoexceptinherited |
We break when the predicate is true or when we've timed out
References embvm::VirtualConditionVariable::wait().
|
private |
Referenced by broadcast(), native_handle(), signal(), timed_wait(), wait(), and ~ConditionVariable().
1.8.15