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

Unified Diff: base/task_scheduler/scheduler_worker_pool_impl.cc

Issue 2044023003: Virtualize The Existence of a Scheduler Worker Thread (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@detach
Patch Set: CR Feedback fdoray@ Created 4 years, 6 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/scheduler_worker.cc ('k') | base/task_scheduler/scheduler_worker_stack_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 0c33fc5f2ce0b646943ac5c99691092a71bd4327..06933eb32db62386195ba3619fd71c03914346fd 100644
--- a/base/task_scheduler/scheduler_worker_pool_impl.cc
+++ b/base/task_scheduler/scheduler_worker_pool_impl.cc
@@ -201,6 +201,7 @@ class SchedulerWorkerPoolImpl::SchedulerWorkerDelegateImpl
scoped_refptr<Sequence> GetWork(SchedulerWorker* worker) override;
void ReEnqueueSequence(scoped_refptr<Sequence> sequence) override;
TimeDelta GetSleepTimeout() override;
+ bool CanDetach(SchedulerWorker* worker) override;
private:
SchedulerWorkerPoolImpl* outer_;
@@ -478,6 +479,11 @@ TimeDelta SchedulerWorkerPoolImpl::SchedulerWorkerDelegateImpl::
return TimeDelta::Max();
}
+bool SchedulerWorkerPoolImpl::SchedulerWorkerDelegateImpl::CanDetach(
+ SchedulerWorker* worker) {
+ return false;
+}
+
SchedulerWorkerPoolImpl::SchedulerWorkerPoolImpl(
StringPiece name,
IORestriction io_restriction,
@@ -514,7 +520,8 @@ bool SchedulerWorkerPoolImpl::Initialize(
thread_priority, WrapUnique(new SchedulerWorkerDelegateImpl(
this, re_enqueue_sequence_callback,
&shared_priority_queue_, static_cast<int>(i))),
- task_tracker_);
+ task_tracker_,
+ SchedulerWorker::InitialState::ALIVE);
if (!worker)
break;
idle_workers_stack_.Push(worker.get());
« no previous file with comments | « base/task_scheduler/scheduler_worker.cc ('k') | base/task_scheduler/scheduler_worker_stack_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698