| 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);
|
| }
|
|
|