| Index: base/process_util_win.cc
|
| diff --git a/base/process_util_win.cc b/base/process_util_win.cc
|
| index a69f5d5fdc8a51a935cc6bc5abf581688f79d97c..f1fd72caa5a2e478e82bcff86a11aebbd37a46f9 100644
|
| --- a/base/process_util_win.cc
|
| +++ b/base/process_util_win.cc
|
| @@ -153,21 +153,24 @@ bool LaunchApp(const CommandLine& cl,
|
| // entry structure, giving it the specified exit code.
|
| // Returns true if this is successful, false otherwise.
|
| bool KillProcess(int process_id, int exit_code, bool wait) {
|
| - bool result = false;
|
| HANDLE process = OpenProcess(PROCESS_TERMINATE | SYNCHRONIZE,
|
| FALSE, // Don't inherit handle
|
| process_id);
|
| - if (process) {
|
| - result = !!TerminateProcess(process, exit_code);
|
| - if (result && wait) {
|
| - // The process may not end immediately due to pending I/O
|
| - if (WAIT_OBJECT_0 != WaitForSingleObject(process, 60 * 1000))
|
| - DLOG(ERROR) << "Error waiting for process exit: " << GetLastError();
|
| - } else {
|
| - DLOG(ERROR) << "Unable to terminate process: " << GetLastError();
|
| - }
|
| - CloseHandle(process);
|
| + if (process)
|
| + return KillProcess(process, exit_code, wait);
|
| + return false;
|
| +}
|
| +
|
| +bool KillProcess(HANDLE process, int exit_code, bool wait) {
|
| + bool result = !!TerminateProcess(process, exit_code);
|
| + if (result && wait) {
|
| + // The process may not end immediately due to pending I/O
|
| + if (WAIT_OBJECT_0 != WaitForSingleObject(process, 60 * 1000))
|
| + DLOG(ERROR) << "Error waiting for process exit: " << GetLastError();
|
| + } else {
|
| + DLOG(ERROR) << "Unable to terminate process: " << GetLastError();
|
| }
|
| + CloseHandle(process);
|
| return result;
|
| }
|
|
|
|
|