From 581938f0351e10aed206ce295d4504eb5cd611a6 Mon Sep 17 00:00:00 2001 From: siggi Date: Thu, 18 Dec 2014 13:17:15 -0800 Subject: Switch ExitCodeWatcher to base::Process. R=erikwright@chromium.org BUG=412384 Review URL: https://codereview.chromium.org/807513003 Cr-Commit-Position: refs/heads/master@{#309073} --- chrome/chrome_watcher/chrome_watcher_main.cc | 25 ++++--------------------- 1 file changed, 4 insertions(+), 21 deletions(-) (limited to 'chrome/chrome_watcher/chrome_watcher_main.cc') diff --git a/chrome/chrome_watcher/chrome_watcher_main.cc b/chrome/chrome_watcher/chrome_watcher_main.cc index ea6756b..6d35d0c 100644 --- a/chrome/chrome_watcher/chrome_watcher_main.cc +++ b/chrome/chrome_watcher/chrome_watcher_main.cc @@ -7,7 +7,7 @@ #include "base/at_exit.h" #include "base/command_line.h" #include "base/logging_win.h" -#include "base/process/process_handle.h" +#include "base/process/process.h" #include "base/template_util.h" #include "components/browser_watcher/exit_code_watcher_win.h" #include "components/browser_watcher/exit_funnel_win.h" @@ -44,29 +44,12 @@ extern "C" int WatcherMain(const base::char16* registry_path) { // Attempt to wait on our parent process, and record its exit status. if (exit_code_watcher.ParseArguments( *base::CommandLine::ForCurrentProcess())) { - base::ProcessHandle dupe = base::kNullProcessHandle; - // Duplicate the process handle for the exit funnel due to the wonky - // process handle lifetime management in base. - if (!::DuplicateHandle(base::GetCurrentProcessHandle(), - exit_code_watcher.process(), - base::GetCurrentProcessHandle(), - &dupe, - 0, - FALSE, - DUPLICATE_SAME_ACCESS)) { - dupe = base::kNullProcessHandle; - } - // Wait on the process. exit_code_watcher.WaitForExit(); - if (dupe != base::kNullProcessHandle) { - browser_watcher::ExitFunnel funnel; - funnel.Init(registry_path, dupe); - funnel.RecordEvent(L"BrowserExit"); - - base::CloseProcessHandle(dupe); - } + browser_watcher::ExitFunnel funnel; + funnel.Init(registry_path, exit_code_watcher.process().Handle()); + funnel.RecordEvent(L"BrowserExit"); ret = 0; } -- cgit v1.1