Index: base/task_scheduler/task_scheduler_impl.cc |
diff --git a/base/task_scheduler/task_scheduler_impl.cc b/base/task_scheduler/task_scheduler_impl.cc |
index a3fc0d3830b99086093df55a4acab424195b921f..4a1feb13ef3103405dc2c8a87b6f1caccb9f4a48 100644 |
--- a/base/task_scheduler/task_scheduler_impl.cc |
+++ b/base/task_scheduler/task_scheduler_impl.cc |
@@ -84,7 +84,8 @@ void TaskSchedulerImpl::Initialize( |
const std::vector<SchedulerWorkerPoolParams>& worker_pool_params_vector) { |
DCHECK(!worker_pool_params_vector.empty()); |
- // Start the service thread. |
+ // Start the service thread. On POSIX, the service thread runs a |
+ // MessageLoopForIO to support FileDescriptorWatcher. |
constexpr MessageLoop::Type kServiceThreadMessageLoopType = |
#if defined(OS_POSIX) |
MessageLoop::TYPE_IO; |
@@ -95,15 +96,15 @@ void TaskSchedulerImpl::Initialize( |
CHECK(service_thread_.StartWithOptions( |
Thread::Options(kServiceThreadMessageLoopType, kDefaultStackSize))); |
- const SchedulerWorkerPoolImpl::ReEnqueueSequenceCallback |
- re_enqueue_sequence_callback = |
- Bind(&TaskSchedulerImpl::ReEnqueueSequenceCallback, Unretained(this)); |
- |
// Instantiate the DelayedTaskManager. The service thread must be started |
// before its TaskRunner is available. |
delayed_task_manager_ = |
base::MakeUnique<DelayedTaskManager>(service_thread_.task_runner()); |
+ const SchedulerWorkerPoolImpl::ReEnqueueSequenceCallback |
robliao
2016/10/18 20:21:43
What the motivation for this reordering?
gab
2016/10/18 20:50:40
It's only required below and |delayed_task_manager
|
+ re_enqueue_sequence_callback = |
+ Bind(&TaskSchedulerImpl::ReEnqueueSequenceCallback, Unretained(this)); |
+ |
// Start worker pools. |
for (const auto& worker_pool_params : worker_pool_params_vector) { |
// Passing pointers to objects owned by |this| to |