Index: chrome/test/chromedriver/chrome/chrome_desktop_impl.cc |
diff --git a/chrome/test/chromedriver/chrome/chrome_desktop_impl.cc b/chrome/test/chromedriver/chrome/chrome_desktop_impl.cc |
index f312c57e6a619257d4f17fd457a72701cf5a77a1..2a5556408b1468ffb5478da7250650b5b1f7b5b7 100644 |
--- a/chrome/test/chromedriver/chrome/chrome_desktop_impl.cc |
+++ b/chrome/test/chromedriver/chrome/chrome_desktop_impl.cc |
@@ -27,15 +27,15 @@ |
namespace { |
-bool KillProcess(base::ProcessHandle process_id, bool kill_gracefully) { |
+bool KillProcess(const base::Process& process, bool kill_gracefully) { |
#if defined(OS_POSIX) |
if (!kill_gracefully) { |
- kill(process_id, SIGKILL); |
+ kill(process.Pid(), SIGKILL); |
base::TimeTicks deadline = |
base::TimeTicks::Now() + base::TimeDelta::FromSeconds(30); |
while (base::TimeTicks::Now() < deadline) { |
- pid_t pid = HANDLE_EINTR(waitpid(process_id, NULL, WNOHANG)); |
- if (pid == process_id) |
+ pid_t pid = HANDLE_EINTR(waitpid(process.Pid(), NULL, WNOHANG)); |
+ if (pid == process.Pid()) |
return true; |
if (pid == -1) { |
if (errno == ECHILD) { |
@@ -43,7 +43,7 @@ bool KillProcess(base::ProcessHandle process_id, bool kill_gracefully) { |
// the same pid, causing the process state to get cleaned up. |
return true; |
} |
- LOG(WARNING) << "Error waiting for process " << process_id; |
+ LOG(WARNING) << "Error waiting for process " << process.Pid(); |
} |
base::PlatformThread::Sleep(base::TimeDelta::FromMilliseconds(50)); |
} |
@@ -51,9 +51,9 @@ bool KillProcess(base::ProcessHandle process_id, bool kill_gracefully) { |
} |
#endif |
- if (!base::KillProcess(process_id, 0, true)) { |
+ if (!process.Terminate(0, true)) { |
int exit_code; |
- return base::GetTerminationStatus(process_id, &exit_code) != |
+ return base::GetTerminationStatus(process.Handle(), &exit_code) != |
base::TERMINATION_STATUS_STILL_RUNNING; |
} |
return true; |
@@ -173,7 +173,7 @@ Status ChromeDesktopImpl::QuitImpl() { |
// everything back out to the user data directory and exit cleanly.If |
// we're using a temporary user data directory, we're going to delete |
// the temporary directory anyway, so just send SIGKILL immediately. |
- if (!KillProcess(process_.Handle(), !user_data_dir_.IsValid())) |
+ if (!KillProcess(process_, !user_data_dir_.IsValid())) |
return Status(kUnknownError, "cannot kill Chrome"); |
return Status(kOk); |
} |