forked from aniani/vim
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)
This commit is contained in:
@@ -5384,9 +5384,9 @@ mch_signal_job(job_T *job, char_u *how)
|
|||||||
{
|
{
|
||||||
if (job->jv_channel != NULL && job->jv_channel->ch_anonymous_pipe)
|
if (job->jv_channel != NULL && job->jv_channel->ch_anonymous_pipe)
|
||||||
job->jv_channel->ch_killing = TRUE;
|
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))
|
if (!AttachConsole(job->jv_proc_info.dwProcessId))
|
||||||
|
@@ -1991,3 +1991,18 @@ func Test_job_start_fails()
|
|||||||
" this was leaking memory
|
" this was leaking memory
|
||||||
call assert_fails("call job_start([''])", "E474:")
|
call assert_fails("call job_start([''])", "E474:")
|
||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
|
func Test_issue_5150()
|
||||||
|
let g:job = job_start('grep foo', {})
|
||||||
|
call job_stop(g:job)
|
||||||
|
sleep 10m
|
||||||
|
call assert_equal(-1, job_info(g:job).exitval)
|
||||||
|
let g:job = job_start('grep foo', {})
|
||||||
|
call job_stop(g:job, 'term')
|
||||||
|
sleep 10m
|
||||||
|
call assert_equal(-1, job_info(g:job).exitval)
|
||||||
|
let g:job = job_start('grep foo', {})
|
||||||
|
call job_stop(g:job, 'kill')
|
||||||
|
sleep 10m
|
||||||
|
call assert_equal(-1, job_info(g:job).exitval)
|
||||||
|
endfunc
|
||||||
|
@@ -742,6 +742,8 @@ static char *(features[]) =
|
|||||||
|
|
||||||
static int included_patches[] =
|
static int included_patches[] =
|
||||||
{ /* Add new patch number below this line */
|
{ /* Add new patch number below this line */
|
||||||
|
/**/
|
||||||
|
238,
|
||||||
/**/
|
/**/
|
||||||
237,
|
237,
|
||||||
/**/
|
/**/
|
||||||
|
Reference in New Issue
Block a user