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

Unified Diff: base/task_scheduler/scheduler_worker_pool_impl.cc

Issue 2749303002: [reference - do not submit] Always create four pools in TaskSchedulerImpl. (Closed)
Patch Set: rebase Created 3 years, 9 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/scheduler_worker_pool_impl.cc
diff --git a/base/task_scheduler/scheduler_worker_pool_impl.cc b/base/task_scheduler/scheduler_worker_pool_impl.cc
index 56e1f7b54eb5e55522e94f047dddf0a7333a62ee..75bc35ae45d46f16f27ee8b2618ff9cdb441c189 100644
--- a/base/task_scheduler/scheduler_worker_pool_impl.cc
+++ b/base/task_scheduler/scheduler_worker_pool_impl.cc
@@ -199,14 +199,18 @@ SchedulerWorkerPoolImpl::~SchedulerWorkerPoolImpl() {
// static
std::unique_ptr<SchedulerWorkerPoolImpl> SchedulerWorkerPoolImpl::Create(
+ const std::string& name,
+ ThreadPriority priority_hint,
const SchedulerWorkerPoolParams& params,
const ReEnqueueSequenceCallback& re_enqueue_sequence_callback,
TaskTracker* task_tracker,
DelayedTaskManager* delayed_task_manager) {
- auto worker_pool = WrapUnique(
- new SchedulerWorkerPoolImpl(params, task_tracker, delayed_task_manager));
- if (worker_pool->Initialize(params, re_enqueue_sequence_callback))
+ auto worker_pool = WrapUnique(new SchedulerWorkerPoolImpl(
+ name, params, task_tracker, delayed_task_manager));
+ if (worker_pool->Initialize(priority_hint, params,
+ re_enqueue_sequence_callback)) {
return worker_pool;
+ }
return nullptr;
}
@@ -464,10 +468,11 @@ void SchedulerWorkerPoolImpl::SchedulerWorkerDelegateImpl::OnDetach() {
}
SchedulerWorkerPoolImpl::SchedulerWorkerPoolImpl(
+ const std::string& name,
const SchedulerWorkerPoolParams& params,
TaskTracker* task_tracker,
DelayedTaskManager* delayed_task_manager)
- : name_(params.name()),
+ : name_(name),
suggested_reclaim_time_(params.suggested_reclaim_time()),
idle_workers_stack_lock_(shared_priority_queue_.container_lock()),
idle_workers_stack_cv_for_testing_(
@@ -511,6 +516,7 @@ SchedulerWorkerPoolImpl::SchedulerWorkerPoolImpl(
}
bool SchedulerWorkerPoolImpl::Initialize(
+ ThreadPriority priority_hint,
const SchedulerWorkerPoolParams& params,
const ReEnqueueSequenceCallback& re_enqueue_sequence_callback) {
AutoSchedulerLock auto_lock(idle_workers_stack_lock_);
@@ -530,7 +536,7 @@ bool SchedulerWorkerPoolImpl::Initialize(
? SchedulerWorker::InitialState::ALIVE
: SchedulerWorker::InitialState::DETACHED;
scoped_refptr<SchedulerWorker> worker = SchedulerWorker::Create(
- params.priority_hint(),
+ priority_hint,
MakeUnique<SchedulerWorkerDelegateImpl>(
this, re_enqueue_sequence_callback, index),
task_tracker_, initial_state, params.backward_compatibility());
« no previous file with comments | « base/task_scheduler/scheduler_worker_pool_impl.h ('k') | base/task_scheduler/scheduler_worker_pool_impl_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698