Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2753)

Unified Diff: base/task_scheduler/task_scheduler_impl.cc

Issue 2816653003: Do not take a MessageLoopForIO in the constructor of TaskTrackerPosix. (Closed)
Patch Set: rebase Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « base/task_scheduler/task_scheduler_impl.h ('k') | base/task_scheduler/task_tracker_posix.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 01786493748a967f9901b206245d2bb5879f05c0..640a44ac8830b9babeb52a94ad3247aa77aef3c5 100644
--- a/base/task_scheduler/task_scheduler_impl.cc
+++ b/base/task_scheduler/task_scheduler_impl.cc
@@ -15,11 +15,6 @@
#include "base/task_scheduler/sequence_sort_key.h"
#include "base/task_scheduler/task.h"
#include "base/task_scheduler/task_tracker.h"
-#include "build/build_config.h"
-
-#if defined(OS_POSIX) && !defined(OS_NACL_SFI)
-#include "base/task_scheduler/task_tracker_posix.h"
-#endif
namespace base {
namespace internal {
@@ -134,13 +129,11 @@ int TaskSchedulerImpl::GetMaxConcurrentTasksWithTraitsDeprecated(
void TaskSchedulerImpl::Shutdown() {
// TODO(fdoray): Increase the priority of BACKGROUND tasks blocking shutdown.
- DCHECK(task_tracker_);
- task_tracker_->Shutdown();
+ task_tracker_.Shutdown();
}
void TaskSchedulerImpl::FlushForTesting() {
- DCHECK(task_tracker_);
- task_tracker_->Flush();
+ task_tracker_.Flush();
}
void TaskSchedulerImpl::JoinForTesting() {
@@ -176,24 +169,20 @@ void TaskSchedulerImpl::Initialize(
service_thread_options.timer_slack = TIMER_SLACK_MAXIMUM;
CHECK(service_thread_.StartWithOptions(service_thread_options));
- // Instantiate TaskTracker. Needs to happen after starting the service thread
- // to get its message_loop().
- task_tracker_ =
#if defined(OS_POSIX) && !defined(OS_NACL_SFI)
- base::MakeUnique<TaskTrackerPosix>(
- static_cast<MessageLoopForIO*>(service_thread_.message_loop()));
-#else
- base::MakeUnique<TaskTracker>();
+ // Needs to happen after starting the service thread to get its
+ // message_loop().
+ task_tracker_.set_watch_file_descriptor_message_loop(
+ static_cast<MessageLoopForIO*>(service_thread_.message_loop()));
#endif
- // Instantiate DelayedTaskManager. Needs to happen after starting the service
- // thread to get its task_runner().
+ // Needs to happen after starting the service thread to get its task_runner().
delayed_task_manager_ =
base::MakeUnique<DelayedTaskManager>(service_thread_.task_runner());
single_thread_task_runner_manager_ =
MakeUnique<SchedulerSingleThreadTaskRunnerManager>(
- task_tracker_.get(), delayed_task_manager_.get());
+ &task_tracker_, delayed_task_manager_.get());
single_thread_task_runner_manager_->Start();
// Callback invoked by workers to re-enqueue a sequence in the appropriate
@@ -227,7 +216,7 @@ void TaskSchedulerImpl::Initialize(
worker_pools_[environment_type] = MakeUnique<SchedulerWorkerPoolImpl>(
name_ + kEnvironmentParams[environment_type].name_suffix,
kEnvironmentParams[environment_type].priority_hint,
- re_enqueue_sequence_callback, task_tracker_.get(),
+ re_enqueue_sequence_callback, &task_tracker_,
delayed_task_manager_.get());
worker_pools_[environment_type]->Start(
*worker_pool_params[environment_type]);
« no previous file with comments | « base/task_scheduler/task_scheduler_impl.h ('k') | base/task_scheduler/task_tracker_posix.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698