| 112 | // Wait for the event to become signalled. |
| 113 | template <typename Lock> |
| 114 | void wait(Lock& lock) |
| 115 | { |
| 116 | ASIO_ASSERT(lock.locked()); |
| 117 | unique_lock_adapter u_lock(lock); |
| 118 | while ((state_ & 1) == 0) |
| 119 | { |
| 120 | waiter w(state_); |
| 121 | cond_.wait(u_lock.unique_lock_); |
| 122 | } |
| 123 | } |
| 124 | |
| 125 | // Timed wait for the event to become signalled. |
| 126 | template <typename Lock> |