From 6b687a5e232c80539772dc3dbe35b98095064c38 Mon Sep 17 00:00:00 2001 From: rvargas Date: Wed, 3 Dec 2014 14:24:06 -0800 Subject: 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} --- cloud_print/virtual_driver/win/install/setup.cc | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'cloud_print/virtual_driver/win') diff --git a/cloud_print/virtual_driver/win/install/setup.cc b/cloud_print/virtual_driver/win/install/setup.cc index 6597758..ad51a8e 100644 --- a/cloud_print/virtual_driver/win/install/setup.cc +++ b/cloud_print/virtual_driver/win/install/setup.cc @@ -138,16 +138,16 @@ HRESULT RegisterPortMonitor(bool install, const base::FilePath& install_path) { base::LaunchOptions options; options.wait = true; - base::win::ScopedHandle regsvr32_handle; - if (!base::LaunchProcess(command_line.GetCommandLineString(), options, - ®svr32_handle)) { + base::Process regsvr32_process = + base::LaunchProcess(command_line.GetCommandLineString(), options); + if (!regsvr32_process.IsValid()) { LOG(ERROR) << "Unable to launch regsvr32.exe."; return HRESULT_FROM_WIN32(ERROR_NOT_SUPPORTED); } DWORD exit_code = S_OK; if (install) { - if (!GetExitCodeProcess(regsvr32_handle.Get(), &exit_code)) { + if (!GetExitCodeProcess(regsvr32_process.Handle(), &exit_code)) { LOG(ERROR) << "Unable to get regsvr32.exe exit code."; return GetLastHResult(); } -- cgit v1.1