diff options
author | rvargas <rvargas@chromium.org> | 2014-12-03 14:24:06 -0800 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2014-12-03 22:24:46 +0000 |
commit | 6b687a5e232c80539772dc3dbe35b98095064c38 (patch) | |
tree | 152e59d10d89943e7ec0363b8f686b483c9d31be /cloud_print/virtual_driver/win | |
parent | e77e1c6d3ecf6398fdbd32fd262e6d6d5e00c4bd (diff) | |
download | chromium_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 'cloud_print/virtual_driver/win')
-rw-r--r-- | cloud_print/virtual_driver/win/install/setup.cc | 8 |
1 files changed, 4 insertions, 4 deletions
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(); } |