summaryrefslogtreecommitdiffstats
path: root/content
diff options
context:
space:
mode:
authorrvargas <rvargas@chromium.org>2014-12-03 14:24:06 -0800
committerCommit bot <commit-bot@chromium.org>2014-12-03 22:24:46 +0000
commit6b687a5e232c80539772dc3dbe35b98095064c38 (patch)
tree152e59d10d89943e7ec0363b8f686b483c9d31be /content
parente77e1c6d3ecf6398fdbd32fd262e6d6d5e00c4bd (diff)
downloadchromium_src-6b687a5e232c80539772dc3dbe35b98095064c38.zip
chromium_src-6b687a5e232c80539772dc3dbe35b98095064c38.tar.gz
chromium_src-6b687a5e232c80539772dc3dbe35b98095064c38.tar.bz2
Upgrade the windows specific version of LaunchProcess to avoid raw handles.
This change implies that extensions::LaunchNativeProcess also changes to return base::Process, and that requires base::EnsureProcessTerminated to deal with base:Process (as it basically claims ownership of the process). This CL fixes some leaks all around. BUG=417532 Review URL: https://codereview.chromium.org/759903002 Cr-Commit-Position: refs/heads/master@{#306687}
Diffstat (limited to 'content')
-rw-r--r--content/browser/child_process_launcher.cc2
-rw-r--r--content/zygote/zygote_linux.cc2
2 files changed, 2 insertions, 2 deletions
diff --git a/content/browser/child_process_launcher.cc b/content/browser/child_process_launcher.cc
index 0870e6c..636fd88 100644
--- a/content/browser/child_process_launcher.cc
+++ b/content/browser/child_process_launcher.cc
@@ -531,7 +531,7 @@ void ChildProcessLauncher::Context::TerminateInternal(
ZygoteHostImpl::GetInstance()->EnsureProcessTerminated(process.Handle());
} else
#endif // !OS_MACOSX
- base::EnsureProcessTerminated(process.Handle());
+ base::EnsureProcessTerminated(process.Pass());
#endif // OS_POSIX
#endif // defined(OS_ANDROID)
}
diff --git a/content/zygote/zygote_linux.cc b/content/zygote/zygote_linux.cc
index f0b9161..bd64221 100644
--- a/content/zygote/zygote_linux.cc
+++ b/content/zygote/zygote_linux.cc
@@ -248,7 +248,7 @@ void Zygote::HandleReapRequest(int fd,
// with this for now.
#if !defined(THREAD_SANITIZER)
// TODO(jln): this old code is completely broken. See crbug.com/274855.
- base::EnsureProcessTerminated(child_info.internal_pid);
+ base::EnsureProcessTerminated(base::Process(child_info.internal_pid));
#else
LOG(WARNING) << "Zygote process omitting a call to "
<< "base::EnsureProcessTerminated() for child pid " << child