Lines Matching refs:guarded_
59 } guarded_; member in fit::single_threaded_executor::dispatcher_impl
94 std::lock_guard<std::mutex> lock(guarded_.mutex_); in ~dispatcher_impl()
95 assert(guarded_.was_shutdown_); in ~dispatcher_impl()
96 assert(!guarded_.scheduler_.has_runnable_tasks()); in ~dispatcher_impl()
97 assert(!guarded_.scheduler_.has_suspended_tasks()); in ~dispatcher_impl()
98 assert(!guarded_.scheduler_.has_outstanding_tickets()); in ~dispatcher_impl()
104 std::lock_guard<std::mutex> lock(guarded_.mutex_); in shutdown()
105 assert(!guarded_.was_shutdown_); in shutdown()
106 guarded_.was_shutdown_ = true; in shutdown()
107 guarded_.scheduler_.take_all_tasks(&tasks); in shutdown()
108 if (guarded_.scheduler_.has_outstanding_tickets()) { in shutdown()
119 std::lock_guard<std::mutex> lock(guarded_.mutex_); in schedule_task()
120 assert(!guarded_.was_shutdown_); in schedule_task()
121 guarded_.scheduler_.schedule_task(std::move(task)); in schedule_task()
122 if (!guarded_.need_wake_) { in schedule_task()
125 guarded_.need_wake_ = false; in schedule_task()
151 std::lock_guard<std::mutex> lock(guarded_.mutex_); in suspend_current_task()
152 assert(!guarded_.was_shutdown_); in suspend_current_task()
154 current_task_ticket_ = guarded_.scheduler_.obtain_ticket( in suspend_current_task()
157 guarded_.scheduler_.duplicate_ticket(current_task_ticket_); in suspend_current_task()
165 std::unique_lock<std::mutex> lock(guarded_.mutex_); in wait_for_runnable_tasks()
167 assert(!guarded_.was_shutdown_); in wait_for_runnable_tasks()
168 guarded_.scheduler_.take_runnable_tasks(out_tasks); in wait_for_runnable_tasks()
172 if (!guarded_.scheduler_.has_suspended_tasks()) { in wait_for_runnable_tasks()
175 guarded_.need_wake_ = true; in wait_for_runnable_tasks()
177 guarded_.need_wake_ = false; in wait_for_runnable_tasks()
191 std::lock_guard<std::mutex> lock(guarded_.mutex_); in run_task()
192 assert(!guarded_.was_shutdown_); in run_task()
193 guarded_.scheduler_.finalize_ticket(current_task_ticket_, task); in run_task()
199 std::lock_guard<std::mutex> lock(guarded_.mutex_); in duplicate_ticket()
200 guarded_.scheduler_.duplicate_ticket(ticket); in duplicate_ticket()
209 std::lock_guard<std::mutex> lock(guarded_.mutex_); in resolve_ticket()
211 guarded_.scheduler_.resume_task_with_ticket(ticket); in resolve_ticket()
213 abandoned_task = guarded_.scheduler_.release_ticket(ticket); in resolve_ticket()
215 if (guarded_.was_shutdown_) { in resolve_ticket()
216 assert(!guarded_.need_wake_); in resolve_ticket()
217 if (guarded_.scheduler_.has_outstanding_tickets()) { in resolve_ticket()
220 } else if (guarded_.need_wake_ && in resolve_ticket()
221 (guarded_.scheduler_.has_runnable_tasks() || in resolve_ticket()
222 !guarded_.scheduler_.has_suspended_tasks())) { in resolve_ticket()
223 guarded_.need_wake_ = false; in resolve_ticket()