diff options
Diffstat (limited to 'content/browser/browser_main_loop.cc')
-rw-r--r-- | content/browser/browser_main_loop.cc | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/content/browser/browser_main_loop.cc b/content/browser/browser_main_loop.cc index 4c307b1..8203333 100644 --- a/content/browser/browser_main_loop.cc +++ b/content/browser/browser_main_loop.cc @@ -513,6 +513,14 @@ void BrowserMainLoop::ShutdownThreadsAndCleanUp() { } } + // Close the blocking I/O pool after the other threads. Other threads such + // as the I/O thread may need to schedule work like closing files or flushing + // data during shutdown, so the blocking pool needs to be available. There + // may also be slow operations pending that will blcok shutdown, so closing + // it here (which will block until required operations are complete) gives + // more head start for those operations to finish. + BrowserThreadImpl::ShutdownThreadPool(); + if (parts_.get()) parts_->PostDestroyThreads(); } |