| 124 | } |
| 125 | |
| 126 | void MessageQueue::kickAndWait() noexcept { |
| 127 | EventSem event; |
| 128 | EventSem *const pEvent = &event; |
| 129 | |
| 130 | ENQUEUE_MESSAGE_1(this, WaitUntilFinish, |
| 131 | pEvent, pEvent, |
| 132 | { |
| 133 | pEvent->signal(); |
| 134 | }); |
| 135 | |
| 136 | kick(); |
| 137 | event.wait(); |
| 138 | } |
| 139 | |
| 140 | void MessageQueue::runConsumerThread() noexcept { |
| 141 | if (_immediateMode || _workerAttached) return; |
no test coverage detected