diff options
author | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2020-01-23 17:21:03 +0100 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2020-01-23 16:25:15 +0000 |
commit | c551f43206405019121bd2b2c93714319a0a3300 (patch) | |
tree | 1f48c30631c421fd4bbb3c36da20183c8a2ed7d7 /chromium/base/task/thread_pool/thread_pool_impl.cc | |
parent | 7961cea6d1041e3e454dae6a1da660b453efd238 (diff) |
BASELINE: Update Chromium to 79.0.3945.139
Change-Id: I336b7182fab9bca80b709682489c07db112eaca5
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Diffstat (limited to 'chromium/base/task/thread_pool/thread_pool_impl.cc')
-rw-r--r-- | chromium/base/task/thread_pool/thread_pool_impl.cc | 27 |
1 files changed, 19 insertions, 8 deletions
diff --git a/chromium/base/task/thread_pool/thread_pool_impl.cc b/chromium/base/task/thread_pool/thread_pool_impl.cc index 64d580d08ad..ff1bfa78211 100644 --- a/chromium/base/task/thread_pool/thread_pool_impl.cc +++ b/chromium/base/task/thread_pool/thread_pool_impl.cc @@ -77,20 +77,23 @@ ThreadPoolImpl::ThreadPoolImpl(StringPiece histogram_label, &delayed_task_manager_), has_disable_best_effort_switch_(HasDisableBestEffortTasksSwitch()), tracked_ref_factory_(this) { - DCHECK(!histogram_label.empty()); - foreground_thread_group_ = std::make_unique<ThreadGroupImpl>( - JoinString( - {histogram_label, kForegroundPoolEnvironmentParams.name_suffix}, "."), + histogram_label.empty() + ? std::string() + : JoinString( + {histogram_label, kForegroundPoolEnvironmentParams.name_suffix}, + "."), kForegroundPoolEnvironmentParams.name_suffix, kForegroundPoolEnvironmentParams.priority_hint, task_tracker_->GetTrackedRef(), tracked_ref_factory_.GetTrackedRef()); if (CanUseBackgroundPriorityForWorkerThread()) { background_thread_group_ = std::make_unique<ThreadGroupImpl>( - JoinString( - {histogram_label, kBackgroundPoolEnvironmentParams.name_suffix}, - "."), + histogram_label.empty() + ? std::string() + : JoinString({histogram_label, + kBackgroundPoolEnvironmentParams.name_suffix}, + "."), kBackgroundPoolEnvironmentParams.name_suffix, kBackgroundPoolEnvironmentParams.priority_hint, task_tracker_->GetTrackedRef(), tracked_ref_factory_.GetTrackedRef()); @@ -423,6 +426,14 @@ bool ThreadPoolImpl::EnqueueJobTaskSource( return true; } +void ThreadPoolImpl::RemoveJobTaskSource( + scoped_refptr<JobTaskSource> task_source) { + auto transaction = task_source->BeginTransaction(); + ThreadGroup* const current_thread_group = + GetThreadGroupForTraits(transaction.traits()); + current_thread_group->RemoveTaskSource(*task_source); +} + bool ThreadPoolImpl::IsRunningPoolWithTraits(const TaskTraits& traits) const { return GetThreadGroupForTraits(traits)->IsBoundToCurrentThread(); } @@ -455,7 +466,7 @@ void ThreadPoolImpl::UpdatePriority(scoped_refptr<TaskSource> task_source, // |task_source| is changing thread groups; remove it from its current // thread group and reenqueue it. auto registered_task_source = - current_thread_group->RemoveTaskSource(task_source); + current_thread_group->RemoveTaskSource(*task_source); if (registered_task_source) { DCHECK(task_source); new_thread_group->PushTaskSourceAndWakeUpWorkers( |