| Index: base/task_scheduler/scheduler_worker.cc
|
| diff --git a/base/task_scheduler/scheduler_worker.cc b/base/task_scheduler/scheduler_worker.cc
|
| index 3e77436b984aaf9d5ac2653979ed67d1770cf8de..3f371887d511454e648054c7bf98d3255ee3ce20 100644
|
| --- a/base/task_scheduler/scheduler_worker.cc
|
| +++ b/base/task_scheduler/scheduler_worker.cc
|
| @@ -67,7 +67,6 @@ class SchedulerWorker::Thread : public PlatformThread::Delegate {
|
| if (outer_->delegate_->CanDetach(outer_.get())) {
|
| detached_thread = outer_->DetachThreadObject(DetachNotify::DELEGATE);
|
| if (detached_thread) {
|
| - outer_ = nullptr;
|
| DCHECK_EQ(detached_thread.get(), this);
|
| PlatformThread::Detach(thread_handle_);
|
| break;
|
| @@ -119,6 +118,8 @@ class SchedulerWorker::Thread : public PlatformThread::Delegate {
|
| // nullptr. JoinForTesting() cleans up if we get nullptr.
|
| if (!detached_thread)
|
| detached_thread = outer_->DetachThreadObject(DetachNotify::SILENT);
|
| +
|
| + outer_->delegate_->OnMainExit();
|
| }
|
|
|
| void Join() { PlatformThread::Join(thread_handle_); }
|
|
|