Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(60)

Side by Side Diff: content/browser/renderer_host/render_process_host_impl.cc

Issue 1018043004: Drop queued IPC messages if the child process dies while spawning (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: adding test Created 5 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « content/browser/renderer_host/render_process_host_impl.h ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 // Represents the browser side of the browser <--> renderer communication 5 // Represents the browser side of the browser <--> renderer communication
6 // channel. There will be one RenderProcessHost per renderer process. 6 // channel. There will be one RenderProcessHost per renderer process.
7 7
8 #include "content/browser/renderer_host/render_process_host_impl.h" 8 #include "content/browser/renderer_host/render_process_host_impl.h"
9 9
10 #include <algorithm> 10 #include <algorithm>
(...skipping 2048 matching lines...) Expand 10 before | Expand all | Expand 10 after
2059 } else if (child_process_launcher_.get()) { 2059 } else if (child_process_launcher_.get()) {
2060 status = child_process_launcher_->GetChildTerminationStatus(already_dead, 2060 status = child_process_launcher_->GetChildTerminationStatus(already_dead,
2061 &exit_code); 2061 &exit_code);
2062 } 2062 }
2063 2063
2064 RendererClosedDetails details(status, exit_code); 2064 RendererClosedDetails details(status, exit_code);
2065 mojo_application_host_->WillDestroySoon(); 2065 mojo_application_host_->WillDestroySoon();
2066 2066
2067 child_process_launcher_.reset(); 2067 child_process_launcher_.reset();
2068 channel_.reset(); 2068 channel_.reset();
2069 while (!queued_messages_.empty()) {
jam 2015/03/23 16:36:14 nit: use STLDeleteElements from stl_util.h
2070 delete queued_messages_.front();
2071 queued_messages_.pop();
2072 }
2069 2073
2070 within_process_died_observer_ = true; 2074 within_process_died_observer_ = true;
2071 NotificationService::current()->Notify( 2075 NotificationService::current()->Notify(
2072 NOTIFICATION_RENDERER_PROCESS_CLOSED, 2076 NOTIFICATION_RENDERER_PROCESS_CLOSED,
2073 Source<RenderProcessHost>(this), 2077 Source<RenderProcessHost>(this),
2074 Details<RendererClosedDetails>(&details)); 2078 Details<RendererClosedDetails>(&details));
2075 FOR_EACH_OBSERVER(RenderProcessHostObserver, 2079 FOR_EACH_OBSERVER(RenderProcessHostObserver,
2076 observers_, 2080 observers_,
2077 RenderProcessExited(this, status, exit_code)); 2081 RenderProcessExited(this, status, exit_code));
2078 within_process_died_observer_ = false; 2082 within_process_died_observer_ = false;
(...skipping 374 matching lines...) Expand 10 before | Expand all | Expand 10 after
2453 if (worker_ref_count_ == 0) 2457 if (worker_ref_count_ == 0)
2454 Cleanup(); 2458 Cleanup();
2455 } 2459 }
2456 2460
2457 void RenderProcessHostImpl::GetAudioOutputControllers( 2461 void RenderProcessHostImpl::GetAudioOutputControllers(
2458 const GetAudioOutputControllersCallback& callback) const { 2462 const GetAudioOutputControllersCallback& callback) const {
2459 audio_renderer_host()->GetOutputControllers(callback); 2463 audio_renderer_host()->GetOutputControllers(callback);
2460 } 2464 }
2461 2465
2462 } // namespace content 2466 } // namespace content
OLDNEW
« no previous file with comments | « content/browser/renderer_host/render_process_host_impl.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698