| Index: base/task_scheduler/scheduler_worker_thread_unittest.cc
|
| diff --git a/base/task_scheduler/scheduler_worker_thread_unittest.cc b/base/task_scheduler/scheduler_worker_thread_unittest.cc
|
| index 36fa42369fd5ef7d79be6c305860660dcb81d56d..2a9d5c69778c884143eff6ac6bd90d5e48a8fc2c 100644
|
| --- a/base/task_scheduler/scheduler_worker_thread_unittest.cc
|
| +++ b/base/task_scheduler/scheduler_worker_thread_unittest.cc
|
| @@ -31,7 +31,8 @@ class TaskSchedulerWorkerThreadTest : public testing::TestWithParam<size_t> {
|
| protected:
|
| TaskSchedulerWorkerThreadTest()
|
| : main_entry_called_(true, false),
|
| - num_get_work_cv_(lock_.CreateConditionVariable()) {}
|
| + num_get_work_cv_(lock_.CreateConditionVariable()),
|
| + worker_thread_set_(true, false) {}
|
|
|
| void SetUp() override {
|
| worker_thread_ = SchedulerWorkerThread::Create(
|
| @@ -39,6 +40,7 @@ class TaskSchedulerWorkerThreadTest : public testing::TestWithParam<size_t> {
|
| WrapUnique(new TestSchedulerWorkerThreadDelegate(this)),
|
| &task_tracker_);
|
| ASSERT_TRUE(worker_thread_);
|
| + worker_thread_set_.Signal();
|
| main_entry_called_.Wait();
|
| }
|
|
|
| @@ -91,7 +93,10 @@ class TaskSchedulerWorkerThreadTest : public testing::TestWithParam<size_t> {
|
| : outer_(outer) {}
|
|
|
| // SchedulerWorkerThread::Delegate:
|
| - void OnMainEntry() override {
|
| + void OnMainEntry(SchedulerWorkerThread* worker_thread) override {
|
| + outer_->worker_thread_set_.Wait();
|
| + EXPECT_EQ(outer_->worker_thread_.get(), worker_thread);
|
| +
|
| // Without synchronization, OnMainEntry() could be called twice without
|
| // generating an error.
|
| AutoSchedulerLock auto_lock(outer_->lock_);
|
| @@ -200,6 +205,9 @@ class TaskSchedulerWorkerThreadTest : public testing::TestWithParam<size_t> {
|
| // Number of times that RunTaskCallback() has been called.
|
| size_t num_run_tasks_ = 0;
|
|
|
| + // Signaled after |worker_thread_| is set.
|
| + WaitableEvent worker_thread_set_;
|
| +
|
| DISALLOW_COPY_AND_ASSIGN(TaskSchedulerWorkerThreadTest);
|
| };
|
|
|
|
|