Index: chrome/browser/win/enumerate_modules_model.cc |
diff --git a/chrome/browser/win/enumerate_modules_model.cc b/chrome/browser/win/enumerate_modules_model.cc |
index ef0e556cdb2132e5572761c97e410005e45c05ce..958a12fc54723ca2b7fe7bc000bc2c01b63d7003 100644 |
--- a/chrome/browser/win/enumerate_modules_model.cc |
+++ b/chrome/browser/win/enumerate_modules_model.cc |
@@ -376,10 +376,13 @@ void ModuleEnumerator::ScanNow(ModulesVector* list) { |
enumerated_modules_ = list; |
// This object can't be reaped until it has finished scanning, so its safe |
- // to post a raw pointer to another thread. |
- BrowserThread::PostTask(BrowserThread::FILE, FROM_HERE, |
- base::Bind(&ModuleEnumerator::ScanImpl, |
- base::Unretained(this))); |
+ // to post a raw pointer to another thread. It will simply be leaked if the |
+ // scanning has not been finished before shutdown. |
+ BrowserThread::GetBlockingPool()->PostWorkerTaskWithShutdownBehavior( |
+ FROM_HERE, |
+ base::Bind(&ModuleEnumerator::ScanImpl, |
+ base::Unretained(this)), |
+ base::SequencedWorkerPool::CONTINUE_ON_SHUTDOWN); |
} |
void ModuleEnumerator::ScanImpl() { |