| 52 | } |
| 53 | |
| 54 | lazy_result<void> async_condition_variable::await_impl(std::shared_ptr<executor> resume_executor, scoped_async_lock& lock) { |
| 55 | co_await details::cv_awaiter(*this, lock); |
| 56 | assert(!lock.owns_lock()); |
| 57 | co_await resume_on(resume_executor); // TODO: optimize this when get_current_executor is available |
| 58 | co_await lock.lock(resume_executor); |
| 59 | } |
| 60 | |
| 61 | lazy_result<void> async_condition_variable::await(std::shared_ptr<executor> resume_executor, scoped_async_lock& lock) { |
| 62 | verify_await_params(resume_executor, lock); |