| Index: chrome/browser/child_process_launcher.cc | 
| diff --git a/chrome/browser/child_process_launcher.cc b/chrome/browser/child_process_launcher.cc | 
| index a4a610af8deb65ea628208c7922c0ccc57b8b016..8ba6941485bc10d9a891e4317b708ff273489713 100644 | 
| --- a/chrome/browser/child_process_launcher.cc | 
| +++ b/chrome/browser/child_process_launcher.cc | 
| @@ -311,28 +311,29 @@ base::ProcessHandle ChildProcessLauncher::GetHandle() { | 
| return context_->process_.handle(); | 
| } | 
|  | 
| -bool ChildProcessLauncher::DidProcessCrash() { | 
| -  bool did_crash, child_exited; | 
| +base::TerminationStatus ChildProcessLauncher::GetChildTerminationStatus( | 
| +    int* exit_code) { | 
| +  base::TerminationStatus status; | 
| base::ProcessHandle handle = context_->process_.handle(); | 
| #if defined(OS_LINUX) | 
| if (context_->zygote_) { | 
| -    did_crash = ZygoteHost::GetInstance()->DidProcessCrash(handle, | 
| -                                                           &child_exited); | 
| +    status = ZygoteHost::GetInstance()->GetTerminationStatus(handle, exit_code); | 
| } else | 
| #endif | 
| { | 
| -    did_crash = base::DidProcessCrash(&child_exited, handle); | 
| +    status = base::GetTerminationStatus(handle, exit_code); | 
| } | 
|  | 
| -  // POSIX: If the process crashed, then the kernel closed the socket for it | 
| -  // and so the child has already died by the time we get here. Since | 
| -  // DidProcessCrash called waitpid with WNOHANG, it'll reap the process. | 
| -  // However, if DidProcessCrash didn't reap the child, we'll need to in | 
| +  // POSIX: If the process crashed, then the kernel closed the socket | 
| +  // for it and so the child has already died by the time we get | 
| +  // here. Since GetTerminationStatus called waitpid with WNOHANG, | 
| +  // it'll reap the process.  However, if GetTerminationStatus didn't | 
| +  // reap the child (because it was still running), we'll need to | 
| // Terminate via ProcessWatcher. So we can't close the handle here. | 
| -  if (child_exited) | 
| +  if (status != base::TERMINATION_STATUS_STILL_RUNNING) | 
| context_->process_.Close(); | 
|  | 
| -  return did_crash; | 
| +  return status; | 
| } | 
|  | 
| void ChildProcessLauncher::SetProcessBackgrounded(bool background) { | 
|  |