3#ifdef ROO_THREADS_USE_FREERTOS
10condition_variable_classic::condition_variable_classic() noexcept
11 : waitlist_(0), waitcount_(0) {}
13void condition_variable_classic::notify_one() noexcept {
14 lock_guard<mutex> guard(mutex_);
21void condition_variable_classic::notify_all() noexcept {
22 lock_guard<mutex> guard(mutex_);
23 for (
int i = 0; i < waitcount_; ++i) {
29void condition_variable_classic::wait(unique_lock<mutex>& lock)
noexcept {
31 lock_guard<mutex> guard(mutex_);
39cv_status condition_variable_classic::wait_until(unique_lock<mutex>& lock,
40 const roo_time::Uptime& when) {
42 lock_guard<mutex> guard(mutex_);
46 bool acquired = waitlist_.try_acquire_until(when);
49 return cv_status::no_timeout;
51 lock_guard<mutex> guard(mutex_);
53 return cv_status::timeout;
cv_status
Status returned from timed wait operations.