| 72 | } |
| 73 | |
| 74 | virtual void stop() override |
| 75 | { |
| 76 | if (m_state <= STOP) |
| 77 | return; |
| 78 | |
| 79 | auto state = m_state; |
| 80 | m_state = STOPPING; |
| 81 | if (state == WAITING && m_thread != nullptr) |
| 82 | thread_interrupt(m_thread); |
| 83 | |
| 84 | while (m_state != STOP) |
| 85 | m_cond.wait_no_lock(); |
| 86 | } |
| 87 | }; |
| 88 | |
| 89 | EventLoop* new_event_loop(EventLoop::Wait4Events wait, |
no test coverage detected