diff options
author | phajdan.jr@chromium.org <phajdan.jr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-04-03 17:01:36 +0000 |
---|---|---|
committer | phajdan.jr@chromium.org <phajdan.jr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-04-03 17:01:36 +0000 |
commit | 6c6cc80b2463e75d94ebb0d392ccf54761374a64 (patch) | |
tree | 027e484cadfabddc197efe4ccab1567bc6cb9b0f /chrome | |
parent | ded5e4e7e6bc7c7d4d16223929dbb0f69fc8add0 (diff) | |
download | chromium_src-6c6cc80b2463e75d94ebb0d392ccf54761374a64.zip chromium_src-6c6cc80b2463e75d94ebb0d392ccf54761374a64.tar.gz chromium_src-6c6cc80b2463e75d94ebb0d392ccf54761374a64.tar.bz2 |
Make OpenProcessHandle report an error when it couldn't open the handle.
One more step to land http://codereview.chromium.org/54003 (chrome_process_util).
Review URL: http://codereview.chromium.org/62004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13086 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome')
-rw-r--r-- | chrome/browser/metrics/metrics_service_uitest.cc | 3 | ||||
-rw-r--r-- | chrome/browser/renderer_host/resource_message_filter.cc | 7 | ||||
-rw-r--r-- | chrome/plugin/plugin_channel.cc | 6 |
3 files changed, 12 insertions, 4 deletions
diff --git a/chrome/browser/metrics/metrics_service_uitest.cc b/chrome/browser/metrics/metrics_service_uitest.cc index c61a39d..9e6940ed 100644 --- a/chrome/browser/metrics/metrics_service_uitest.cc +++ b/chrome/browser/metrics/metrics_service_uitest.cc @@ -92,7 +92,8 @@ TEST_F(MetricsServiceTest, CrashRenderers) { int process_id = 0; ASSERT_TRUE(tab->GetProcessID(&process_id)); ASSERT_NE(0, process_id); - base::ProcessHandle process_handle = base::OpenProcessHandle(process_id); + base::ProcessHandle process_handle; + ASSERT_TRUE(base::OpenProcessHandle(process_id, &process_handle)); // Fake Access Violation. base::KillProcess(process_handle, 0xc0000005, true); base::CloseProcessHandle(process_handle); diff --git a/chrome/browser/renderer_host/resource_message_filter.cc b/chrome/browser/renderer_host/resource_message_filter.cc index 007c5fd..549fc6a 100644 --- a/chrome/browser/renderer_host/resource_message_filter.cc +++ b/chrome/browser/renderer_host/resource_message_filter.cc @@ -173,8 +173,11 @@ void ResourceMessageFilter::OnFilterAdded(IPC::Channel* channel) { // Called on the IPC thread: void ResourceMessageFilter::OnChannelConnected(int32 peer_pid) { DCHECK(!handle()); - set_handle(base::OpenProcessHandle(peer_pid)); - DCHECK(handle()); + base::ProcessHandle peer_handle; + if (!base::OpenProcessHandle(peer_pid, &peer_handle)) { + NOTREACHED(); + } + set_handle(peer_handle); // Hook AudioRendererHost to this object after channel is connected so it can // this object for sending messages. audio_renderer_host_->IPCChannelConnected(this); diff --git a/chrome/plugin/plugin_channel.cc b/chrome/plugin/plugin_channel.cc index 066bda3..1c6a809 100644 --- a/chrome/plugin/plugin_channel.cc +++ b/chrome/plugin/plugin_channel.cc @@ -100,7 +100,11 @@ int PluginChannel::GenerateRouteID() { } void PluginChannel::OnChannelConnected(int32 peer_pid) { - renderer_handle_.Set(base::OpenProcessHandle(peer_pid)); + base::ProcessHandle handle; + if (!base::OpenProcessHandle(peer_pid, &handle)) { + NOTREACHED(); + } + renderer_handle_.Set(handle); PluginChannelBase::OnChannelConnected(peer_pid); } |