49void MessageLoopFuchsia::Run() {
50 timer_wait_ = std::make_unique<async::Wait>(
51 timer_.get(), ZX_TIMER_SIGNALED, 0,
52 [
this](async_dispatcher_t* dispatcher, async::Wait* wait,
53 zx_status_t status,
const zx_packet_signal_t* signal) {
54 if (status == ZX_ERR_CANCELED) {
57 FML_CHECK(signal->observed & ZX_TIMER_SIGNALED);
76 zx_status_t wait_status = wait->Begin(loop_.dispatcher());
78 <<
"MessageLoopFuchsia::WakeUp failed to wait for timer; status="
79 << zx_status_get_string(wait_status);
83 zx_status_t wait_status = timer_wait_->Begin(loop_.dispatcher());
85 <<
"MessageLoopFuchsia::WakeUp failed to wait for timer; status="
86 << zx_status_get_string(wait_status);
93 if (timer_wait_->is_pending()) {
94 timer_wait_->Cancel();