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

Unified Diff: base/task_scheduler/scheduler_single_thread_task_runner_manager.cc

Issue 2917433002: Followup to https://codereview.chromium.org/2902753003/ (Closed)
Patch Set: Created 3 years, 7 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_single_thread_task_runner_manager.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: base/task_scheduler/scheduler_single_thread_task_runner_manager.cc
diff --git a/base/task_scheduler/scheduler_single_thread_task_runner_manager.cc b/base/task_scheduler/scheduler_single_thread_task_runner_manager.cc
index 3f45500e8a6edd714084586a32d6b404e5b33de5..a445a165b23946370dd484b31d50dbb7f2f50f44 100644
--- a/base/task_scheduler/scheduler_single_thread_task_runner_manager.cc
+++ b/base/task_scheduler/scheduler_single_thread_task_runner_manager.cc
@@ -330,19 +330,9 @@ class SchedulerSingleThreadTaskRunnerManager::SchedulerSingleThreadTaskRunner
SchedulerSingleThreadTaskRunnerManager::SchedulerSingleThreadTaskRunnerManager(
TaskTracker* task_tracker,
DelayedTaskManager* delayed_task_manager)
- : task_tracker_(task_tracker),
- delayed_task_manager_(delayed_task_manager),
- shared_scheduler_workers_ {}
-#if defined(OS_WIN)
- ,
- shared_com_scheduler_workers_ {}
-#endif // defined(OS_WIN)
-{
+ : task_tracker_(task_tracker), delayed_task_manager_(delayed_task_manager) {
DCHECK(task_tracker_);
DCHECK(delayed_task_manager_);
- static_assert(
- arraysize(shared_scheduler_workers_) == ENVIRONMENT_COUNT,
- "The size of |shared_scheduler_workers_| must match ENVIRONMENT_COUNT");
#if defined(OS_WIN)
static_assert(arraysize(shared_com_scheduler_workers_) ==
arraysize(shared_scheduler_workers_),
@@ -427,7 +417,8 @@ SchedulerSingleThreadTaskRunnerManager::CreateTaskRunnerWithTraitsImpl(
DCHECK(thread_mode != SingleThreadTaskRunnerThreadMode::SHARED ||
!traits.with_base_sync_primitives())
<< "Using WithBaseSyncPrimitives() on a shared SingleThreadTaskRunner "
- "may cause deadlocks. Either reevaluate your usage pattern or use "
+ "may cause deadlocks. Either reevaluate your usage (e.g. use "
+ "SequencedTaskRunner) or use "
"SingleThreadTaskRunnerThreadMode::DEDICATED.";
// To simplify the code, |dedicated_worker| is a local only variable that
// allows the code to treat both the DEDICATED and SHARED cases similarly for
@@ -460,7 +451,8 @@ SchedulerSingleThreadTaskRunnerManager::CreateTaskRunnerWithTraitsImpl(
if (new_worker && started)
worker->Start();
- return new SchedulerSingleThreadTaskRunner(this, traits, worker, thread_mode);
+ return MakeRefCounted<SchedulerSingleThreadTaskRunner>(this, traits, worker,
+ thread_mode);
}
void SchedulerSingleThreadTaskRunnerManager::JoinForTesting() {
@@ -569,8 +561,10 @@ void SchedulerSingleThreadTaskRunnerManager::ReleaseSharedSchedulerWorkers() {
AutoSchedulerLock auto_lock(lock_);
for (size_t i = 0; i < arraysize(shared_scheduler_workers_); ++i) {
local_shared_scheduler_workers[i] = shared_scheduler_workers_[i];
+ shared_scheduler_workers_[i] = nullptr;
#if defined(OS_WIN)
local_shared_com_scheduler_workers[i] = shared_com_scheduler_workers_[i];
+ shared_com_scheduler_workers_[i] = nullptr;
#endif
}
}
« no previous file with comments | « base/task_scheduler/scheduler_single_thread_task_runner_manager.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698