Index: components/task_scheduler_util/initialization_util.cc |
diff --git a/components/task_scheduler_util/initialization_util.cc b/components/task_scheduler_util/initialization_util.cc |
index ca94f42171117f036be7702fe7e8116de4395bcf..4fa1a5e3c0a61678ab36e015a46cb7cb3bd6cdd7 100644 |
--- a/components/task_scheduler_util/initialization_util.cc |
+++ b/components/task_scheduler_util/initialization_util.cc |
@@ -22,6 +22,9 @@ namespace task_scheduler_util { |
namespace { |
+using StandbyThreadPolicy = |
+ base::SchedulerWorkerPoolParams::StandbyThreadPolicy; |
+ |
enum WorkerPoolType : size_t { |
BACKGROUND_WORKER_POOL = 0, |
BACKGROUND_FILE_IO_WORKER_POOL, |
@@ -31,6 +34,7 @@ enum WorkerPoolType : size_t { |
}; |
struct WorkerPoolVariationValues { |
+ StandbyThreadPolicy standby_thread_policy; |
int threads = 0; |
base::TimeDelta detach_period; |
}; |
@@ -70,6 +74,13 @@ WorkerPoolVariationValues StringToWorkerPoolVariationValues( |
values.threads = std::min(maximum, std::max(minimum, threads)); |
values.detach_period = |
base::TimeDelta::FromMilliseconds(detach_milliseconds); |
+ values.standby_thread_policy = StandbyThreadPolicy::ONE; |
fdoray
2016/11/15 15:27:02
values.standby_thread_policy =
(tokens.size()
robliao
2016/11/15 15:57:19
Done.
|
+ if (tokens.size() >= 6) { |
+ values.standby_thread_policy = |
+ tokens[5] == "lazy" |
+ ? StandbyThreadPolicy::LAZY |
+ : StandbyThreadPolicy::ONE; |
+ } |
return values; |
} |
DLOG(ERROR) << "Invalid Worker Pool Descriptor: " << pool_descriptor; |
@@ -131,6 +142,7 @@ bool InitializeDefaultTaskScheduler( |
params_vector.emplace_back(predefined_params.name, |
predefined_params.priority_hint, |
predefined_params.io_restriction, |
+ variation_values.standby_thread_policy, |
variation_values.threads, |
variation_values.detach_period); |
} |