diff options
author | phajdan.jr@chromium.org <phajdan.jr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-02-23 19:22:13 +0000 |
---|---|---|
committer | phajdan.jr@chromium.org <phajdan.jr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-02-23 19:22:13 +0000 |
commit | 53c4c6201b2e4c46a1cb0f23531faa19455ecc9d (patch) | |
tree | c8db0409f0cd9550958933e4e61dbbf0f4acb40e /chrome/browser/browser_process_impl.cc | |
parent | 881d0b88dc7efc86923821222cd525b7f11d986a (diff) | |
download | chromium_src-53c4c6201b2e4c46a1cb0f23531faa19455ecc9d.zip chromium_src-53c4c6201b2e4c46a1cb0f23531faa19455ecc9d.tar.gz chromium_src-53c4c6201b2e4c46a1cb0f23531faa19455ecc9d.tar.bz2 |
Fix a crash when dns prefetching was being shut down without being started.
This happened when BrowserMain exited before the point when we initialized dns prefetching, but after BrowserProcessImpl was created. We do shutdown of dns prefetching in ~BrowserProcessImpl.
Example way to trigger the crash: open a saved HTML page while Chrome is already running.
Change ShutdownDnsPrefetch to EnsureDnsPrefetchingShutdown which does nothing
if dns prefetching has not been initialized. This is the simplest way
to prevent the crash and we don't want to complicate the startup sequence even more.
BUG=7900
Review URL: http://codereview.chromium.org/27048
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10201 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/browser_process_impl.cc')
-rw-r--r-- | chrome/browser/browser_process_impl.cc | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/chrome/browser/browser_process_impl.cc b/chrome/browser/browser_process_impl.cc index 5a12b83..1e0d956 100644 --- a/chrome/browser/browser_process_impl.cc +++ b/chrome/browser/browser_process_impl.cc @@ -178,7 +178,7 @@ BrowserProcessImpl::~BrowserProcessImpl() { // Shutdown DNS prefetching now to ensure that network stack objects // living on the IO thread get destroyed before the IO thread goes away. io_thread_->message_loop()->PostTask(FROM_HERE, - NewRunnableFunction(chrome_browser_net::ShutdownDnsPrefetch)); + NewRunnableFunction(chrome_browser_net::EnsureDnsPrefetchShutdown)); // Need to stop io_thread_ before resource_dispatcher_host_, since // io_thread_ may still deref ResourceDispatcherHost and handle resource |