patch 8.2.0238: MS-Windows: job_stop() results in exit value zero
Problem: MS-Windows: job_stop() results in exit value zero.
Solution: Call TerminateJobObject() with -1 instead of 0. (Yasuhiro
Matsumoto, closes #5150, closes #5614)
diff --git a/src/os_win32.c b/src/os_win32.c
index 7dc37a1..2594aee 100644
--- a/src/os_win32.c
+++ b/src/os_win32.c
@@ -5384,9 +5384,9 @@
{
if (job->jv_channel != NULL && job->jv_channel->ch_anonymous_pipe)
job->jv_channel->ch_killing = TRUE;
- return TerminateJobObject(job->jv_job_object, 0) ? OK : FAIL;
+ return TerminateJobObject(job->jv_job_object, -1) ? OK : FAIL;
}
- return terminate_all(job->jv_proc_info.hProcess, 0) ? OK : FAIL;
+ return terminate_all(job->jv_proc_info.hProcess, -1) ? OK : FAIL;
}
if (!AttachConsole(job->jv_proc_info.dwProcessId))