mirror of
https://github.com/vim/vim.git
synced 2025-09-24 03:44:06 -04:00
patch 7.4.1418
Problem: job_stop() on MS-Windows does not really stop the job. Solution: Make the default to stop the job forcefully. (Ken Takata) Make MS-Windows and Unix more similar.
This commit is contained in:
@@ -5141,10 +5141,9 @@ mch_job_status(job_T *job)
|
||||
int
|
||||
mch_stop_job(job_T *job, char_u *how)
|
||||
{
|
||||
int ret = 0;
|
||||
int ctrl_c = STRCMP(how, "int") == 0;
|
||||
int ret;
|
||||
|
||||
if (STRCMP(how, "kill") == 0)
|
||||
if (STRCMP(how, "term") == 0 || STRCMP(how, "kill") == 0 || *how == NUL)
|
||||
{
|
||||
if (job->jv_job_object != NULL)
|
||||
return TerminateJobObject(job->jv_job_object, 0) ? OK : FAIL;
|
||||
@@ -5155,9 +5154,9 @@ mch_stop_job(job_T *job, char_u *how)
|
||||
if (!AttachConsole(job->jv_proc_info.dwProcessId))
|
||||
return FAIL;
|
||||
ret = GenerateConsoleCtrlEvent(
|
||||
ctrl_c ? CTRL_C_EVENT : CTRL_BREAK_EVENT,
|
||||
job->jv_proc_info.dwProcessId)
|
||||
? OK : FAIL;
|
||||
STRCMP(how, "int") == 0 ? CTRL_C_EVENT : CTRL_BREAK_EVENT,
|
||||
job->jv_proc_info.dwProcessId)
|
||||
? OK : FAIL;
|
||||
FreeConsole();
|
||||
return ret;
|
||||
}
|
||||
|
Reference in New Issue
Block a user