diff options
author | jam@chromium.org <jam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-10-15 20:39:01 +0000 |
---|---|---|
committer | jam@chromium.org <jam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-10-15 20:39:01 +0000 |
commit | 7fff586ce10cfa76fdd6ec99309437a1482d7f76 (patch) | |
tree | 765376d979c27ed63fa5dc210a981808476db899 /content | |
parent | 7db08f494b0a164ef7628852280c7293045aefa0 (diff) | |
download | chromium_src-7fff586ce10cfa76fdd6ec99309437a1482d7f76.zip chromium_src-7fff586ce10cfa76fdd6ec99309437a1482d7f76.tar.gz chromium_src-7fff586ce10cfa76fdd6ec99309437a1482d7f76.tar.bz2 |
When running in single-process mode, delete the one RenderProcessHost at shutdown. This ensures that we stop the renderer thread which would expose any crashes.
BUG=301520
R=glider@chromium.org
Review URL: https://codereview.chromium.org/27183007
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@228757 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content')
-rw-r--r-- | content/browser/browser_main_loop.cc | 6 | ||||
-rw-r--r-- | content/browser/renderer_host/render_process_host_impl.cc | 1 |
2 files changed, 5 insertions, 2 deletions
diff --git a/content/browser/browser_main_loop.cc b/content/browser/browser_main_loop.cc index 14dd614..f8c8a1c 100644 --- a/content/browser/browser_main_loop.cc +++ b/content/browser/browser_main_loop.cc @@ -699,7 +699,6 @@ void BrowserMainLoop::RunMainMessageLoopParts() { } void BrowserMainLoop::ShutdownThreadsAndCleanUp() { - if (!created_threads_) { // Called early, nothing to do return; @@ -714,6 +713,11 @@ void BrowserMainLoop::ShutdownThreadsAndCleanUp() { base::Bind(base::IgnoreResult(&base::ThreadRestrictions::SetIOAllowed), true)); + if (RenderProcessHost::run_renderer_in_process() && + !RenderProcessHost::AllHostsIterator().IsAtEnd()) { + delete RenderProcessHost::AllHostsIterator().GetCurrentValue(); + } + if (parts_) { TRACE_EVENT0("shutdown", "BrowserMainLoop::Subsystem:PostMainMessageLoopRun"); diff --git a/content/browser/renderer_host/render_process_host_impl.cc b/content/browser/renderer_host/render_process_host_impl.cc index 0710984..177533c 100644 --- a/content/browser/renderer_host/render_process_host_impl.cc +++ b/content/browser/renderer_host/render_process_host_impl.cc @@ -398,7 +398,6 @@ RenderProcessHostImpl::RenderProcessHostImpl( } RenderProcessHostImpl::~RenderProcessHostImpl() { - DCHECK(!run_renderer_in_process()); ChildProcessSecurityPolicyImpl::GetInstance()->Remove(GetID()); if (gpu_observer_registered_) { |