diff options
author | Björn Linse <bjorn.linse@gmail.com> | 2016-01-18 13:54:20 +0100 |
---|---|---|
committer | Björn Linse <bjorn.linse@gmail.com> | 2016-01-20 11:09:29 +0100 |
commit | f6ecd127b9c999b63d33e2da542f32528530698a (patch) | |
tree | b6a2e2f41abb83f0f732ad259cddf7dab66ef741 | |
parent | 4618307a6ccd2b45349d8ade88c47e101844e9ee (diff) | |
download | rneovim-f6ecd127b9c999b63d33e2da542f32528530698a.tar.gz rneovim-f6ecd127b9c999b63d33e2da542f32528530698a.tar.bz2 rneovim-f6ecd127b9c999b63d33e2da542f32528530698a.zip |
job control: don't kill PTY processes on exit
These will automatically recieve SIGHUP on closing PTY master.
-rw-r--r-- | src/nvim/event/process.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/src/nvim/event/process.c b/src/nvim/event/process.c index d365a78a9d..e6012595fd 100644 --- a/src/nvim/event/process.c +++ b/src/nvim/event/process.c @@ -120,9 +120,14 @@ void process_teardown(Loop *loop) FUNC_ATTR_NONNULL_ALL // Close handles to process without killing it. CREATE_EVENT(loop->events, process_close_handles, 1, proc); } else { - uv_kill(proc->pid, SIGTERM); - proc->term_sent = true; - process_stop(proc); + if (proc->type == kProcessTypeUv) { + uv_kill(proc->pid, SIGTERM); + proc->term_sent = true; + process_stop(proc); + } else { // kProcessTypePty + process_close_streams(proc); + pty_process_close_master((PtyProcess *)proc); + } } } |