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

Unified Diff: base/task_scheduler/task_scheduler_impl.cc

Issue 2816653003: Do not take a MessageLoopForIO in the constructor of TaskTrackerPosix. (Closed)
Patch Set: self-review 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
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 70c80054f621a398707331e8d12d8a07fd8c751f..871e1be11d7e883a6956405f3aa52bedbd5ea06e 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,23 +169,19 @@ 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_.Start(
+ static_cast<MessageLoopForIO*>(service_thread_.message_loop()));
#endif
gab 2017/04/12 19:17:34 Hmmm, not starting non-POSIX TaskTracker too??
fdoray 2017/04/13 12:29:08 Renamed Start() -> set_watch_file_descriptor_messa
- // Start 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_.Start(service_thread_.task_runner());
single_thread_task_runner_manager_ =
MakeUnique<SchedulerSingleThreadTaskRunnerManager>(
- task_tracker_.get(), &delayed_task_manager_);
+ &task_tracker_, &delayed_task_manager_);
single_thread_task_runner_manager_->Start();
// Callback invoked by workers to re-enqueue a sequence in the appropriate
@@ -226,8 +215,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(),
- &delayed_task_manager_);
+ re_enqueue_sequence_callback, &task_tracker_, &delayed_task_manager_);
worker_pools_[environment_type]->Start(
*worker_pool_params[environment_type]);
}

Powered by Google App Engine
This is Rietveld 408576698