| // Copyright 2016 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #include "base/task/task_scheduler/task_tracker_posix.h" |
| |
| #include <utility> |
| |
| #include "base/files/file_descriptor_watcher_posix.h" |
| |
| namespace base { |
| namespace internal { |
| |
| TaskTrackerPosix::TaskTrackerPosix(StringPiece name) : TaskTracker(name) {} |
| TaskTrackerPosix::~TaskTrackerPosix() = default; |
| |
| void TaskTrackerPosix::RunOrSkipTask(Task task, |
| Sequence* sequence, |
| bool can_run_task) { |
| DCHECK(watch_file_descriptor_message_loop_); |
| FileDescriptorWatcher file_descriptor_watcher( |
| watch_file_descriptor_message_loop_); |
| TaskTracker::RunOrSkipTask(std::move(task), sequence, can_run_task); |
| } |
| |
| #if DCHECK_IS_ON() |
| bool TaskTrackerPosix::IsPostingBlockShutdownTaskAfterShutdownAllowed() { |
| return service_thread_handle_.is_equal(PlatformThread::CurrentHandle()); |
| } |
| #endif |
| |
| } // namespace internal |
| } // namespace base |