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

Unified Diff: base/task_scheduler/task_scheduler.cc

Issue 2764603002: Add TaskScheduler::InitParams and accept it in TaskSchedulerImpl constructor. (Closed)
Patch Set: self-review 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/task_scheduler.cc
diff --git a/base/task_scheduler/task_scheduler.cc b/base/task_scheduler/task_scheduler.cc
index 592d6f4a15ecb97f79f890cbd66ee9001c82f596..c70bc0bfbb9a6e09ba93f40550fad633297bbde0 100644
--- a/base/task_scheduler/task_scheduler.cc
+++ b/base/task_scheduler/task_scheduler.cc
@@ -21,8 +21,29 @@ namespace {
// |g_task_scheduler| is intentionally leaked on shutdown.
TaskScheduler* g_task_scheduler = nullptr;
+SchedulerWorkerPoolParams AugmentWorkerPoolParamsWithNameAndPriority(
robliao 2017/03/23 18:00:52 This can be removed, right?
fdoray 2017/03/24 14:00:38 Done.
+ const std::string& name,
+ ThreadPriority priority_hint,
+ const SchedulerWorkerPoolParams params) {
+ return SchedulerWorkerPoolParams(
+ name, priority_hint, params.standby_thread_policy(), params.max_threads(),
+ params.suggested_reclaim_time(), params.backward_compatibility());
+}
+
} // namespace
+TaskScheduler::InitParams::InitParams(
+ const SchedulerWorkerPoolParams& background_worker_pool_params_in,
+ const SchedulerWorkerPoolParams& background_blocking_worker_pool_params_in,
+ const SchedulerWorkerPoolParams& foreground_worker_pool_params_in,
+ const SchedulerWorkerPoolParams& foreground_blocking_worker_pool_params_in)
+ : background_worker_pool_params(background_worker_pool_params_in),
+ background_blocking_worker_pool_params(
+ background_blocking_worker_pool_params_in),
+ foreground_worker_pool_params(foreground_worker_pool_params_in),
+ foreground_blocking_worker_pool_params(
+ foreground_blocking_worker_pool_params_in) {}
+
#if !defined(OS_NACL)
// static
void TaskScheduler::CreateAndSetSimpleTaskScheduler(const std::string& name) {
@@ -31,7 +52,7 @@ void TaskScheduler::CreateAndSetSimpleTaskScheduler(const std::string& name) {
worker_pool_params_vector.emplace_back(
name, ThreadPriority::NORMAL,
SchedulerWorkerPoolParams::StandbyThreadPolicy::LAZY,
- std::max(kMinNumThreads, base::SysInfo::NumberOfProcessors()),
+ std::max(kMinNumThreads, SysInfo::NumberOfProcessors()),
TimeDelta::FromSeconds(30));
CreateAndSetDefaultTaskScheduler(
worker_pool_params_vector,
@@ -48,6 +69,12 @@ void TaskScheduler::CreateAndSetDefaultTaskScheduler(
worker_pool_params_vector, worker_pool_index_for_traits_callback));
}
+void TaskScheduler::CreateAndSetDefaultTaskScheduler(
+ const std::string& name,
+ const InitParams& init_params) {
+ SetInstance(internal::TaskSchedulerImpl::Create(name, init_params));
+}
+
// static
void TaskScheduler::SetInstance(std::unique_ptr<TaskScheduler> task_scheduler) {
delete g_task_scheduler;

Powered by Google App Engine
This is Rietveld 408576698