diff options
Diffstat (limited to 'src/main')
-rw-r--r-- | src/main/native/windows_processes.cc | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/src/main/native/windows_processes.cc b/src/main/native/windows_processes.cc index 3165b382cb..cf0b677c93 100644 --- a/src/main/native/windows_processes.cc +++ b/src/main/native/windows_processes.cc @@ -530,18 +530,17 @@ Java_com_google_devtools_build_lib_windows_WindowsProcesses_nativeGetProcessPid( extern "C" JNIEXPORT jboolean JNICALL Java_com_google_devtools_build_lib_windows_WindowsProcesses_nativeTerminate( JNIEnv *env, jclass clazz, jlong process_long) { + static const UINT exit_code = 130; // 128 + SIGINT, like on Linux NativeProcess* process = reinterpret_cast<NativeProcess*>(process_long); if (process->job_ != INVALID_HANDLE_VALUE) { - // In theory, CloseHandle() on process->job_ would work, too, since we set - // KILL_OBJECT_LIMIT_KILL_ON_JOB_CLOSE, but this is a little more explicit. - if (!TerminateJobObject(process->job_, 0)) { + if (!TerminateJobObject(process->job_, exit_code)) { process->error_ = windows_util::GetLastErrorString("TerminateJobObject()"); return JNI_FALSE; } } else if (process->process_ != INVALID_HANDLE_VALUE) { - if (!TerminateProcess(process->process_, 1)) { + if (!TerminateProcess(process->process_, exit_code)) { process->error_ = windows_util::GetLastErrorString("TerminateProcess()"); return JNI_FALSE; } |