diff options
author | Daniel Hahler <git@thequod.de> | 2019-08-01 13:55:06 +0200 |
---|---|---|
committer | Justin M. Keyes <justinkz@gmail.com> | 2019-08-01 13:55:06 +0200 |
commit | 41bb68b8e8d05c38dbf730d72e30dbec25fcabea (patch) | |
tree | 2c01f4138c0b1c5155b62797aecad2c248fb67b3 | |
parent | 65578693b28008ca953e446158e31c267e5df7a3 (diff) | |
download | rneovim-41bb68b8e8d05c38dbf730d72e30dbec25fcabea.tar.gz rneovim-41bb68b8e8d05c38dbf730d72e30dbec25fcabea.tar.bz2 rneovim-41bb68b8e8d05c38dbf730d72e30dbec25fcabea.zip |
process_stop: uv: do not close stdin first/explicitly #10584
- process_stop: do not close stdin explicitly. The "close stdin" step was from
aa9cb48, before we fixed/reworked the SIGTERM timing logic. So it's probably
outdated / no longer needed.
- win: jobstop: exit_code 15
GetExitCodeProcess appears to return the used signal.
https://docs.microsoft.com/en-us/windows/win32/api/processthreadsapi/nf-processthreadsapi-getexitcodeprocess
ref #10573
-rw-r--r-- | src/nvim/event/process.c | 4 | ||||
-rw-r--r-- | test/functional/core/job_spec.lua | 8 |
2 files changed, 4 insertions, 8 deletions
diff --git a/src/nvim/event/process.c b/src/nvim/event/process.c index 990dee0c7f..4410deadef 100644 --- a/src/nvim/event/process.c +++ b/src/nvim/event/process.c @@ -223,10 +223,6 @@ void process_stop(Process *proc) FUNC_ATTR_NONNULL_ALL switch (proc->type) { case kProcessTypeUv: - // Close the process's stdin. If the process doesn't close its own - // stdout/stderr, they will be closed when it exits(possibly due to being - // terminated after a timeout) - stream_may_close(&proc->in); os_proc_tree_kill(proc->pid, SIGTERM); break; case kProcessTypePty: diff --git a/test/functional/core/job_spec.lua b/test/functional/core/job_spec.lua index 1bcf4b2891..2b00327f14 100644 --- a/test/functional/core/job_spec.lua +++ b/test/functional/core/job_spec.lua @@ -183,7 +183,7 @@ describe('jobs', function() ) nvim('command', "call jobstop(j)") eq({'notification', 'stdout', {0, {''}}}, next_msg()) - eq({'notification', 'exit', {0, 0}}, next_msg()) + eq({'notification', 'exit', {0, iswin() and 15 or 0}}, next_msg()) end) it('preserves NULs', function() @@ -217,7 +217,7 @@ describe('jobs', function() eq({'notification', 'stdout', {0, {'abc', 'xyz'}}}, next_msg()) nvim('command', "call jobstop(j)") eq({'notification', 'stdout', {0, {''}}}, next_msg()) - eq({'notification', 'exit', {0, 0}}, next_msg()) + eq({'notification', 'exit', {0, iswin() and 15 or 0}}, next_msg()) end) it('preserves newlines', function() @@ -234,7 +234,7 @@ describe('jobs', function() next_msg()) nvim('command', "call jobstop(j)") eq({'notification', 'stdout', {0, {''}}}, next_msg()) - eq({'notification', 'exit', {0, 0}}, next_msg()) + eq({'notification', 'exit', {0, iswin() and 15 or 0}}, next_msg()) end) it('avoids sending final newline', function() @@ -244,7 +244,7 @@ describe('jobs', function() next_msg()) nvim('command', "call jobstop(j)") eq({'notification', 'stdout', {0, {''}}}, next_msg()) - eq({'notification', 'exit', {0, 0}}, next_msg()) + eq({'notification', 'exit', {0, iswin() and 15 or 0}}, next_msg()) end) it('closes the job streams with jobclose', function() |