| 111 | } |
| 112 | |
| 113 | void __assoc_sub_state::__sub_wait(unique_lock<mutex>& __lk) { |
| 114 | if (!__is_ready()) { |
| 115 | if (__state_ & static_cast<unsigned>(deferred)) { |
| 116 | __state_ &= ~static_cast<unsigned>(deferred); |
| 117 | __lk.unlock(); |
| 118 | __execute(); |
| 119 | } else |
| 120 | while (!__is_ready()) |
| 121 | __cv_.wait(__lk); |
| 122 | } |
| 123 | } |
| 124 | |
| 125 | void __assoc_sub_state::__execute() { std::__throw_future_error(future_errc::no_state); } |
| 126 |