aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/event/libuv_process.c
diff options
context:
space:
mode:
authorJustin M. Keyes <justinkz@gmail.com>2018-03-18 18:36:02 +0100
committerGitHub <noreply@github.com>2018-03-18 18:36:02 +0100
commit4e02f1ab871f30d80250537877924d522497493b (patch)
tree0a054babaa09767e5c31d7f485a7901e29188b35 /src/nvim/event/libuv_process.c
parent0848add4885adaa61218cc5394dc23d92c5812df (diff)
parentae409b5042abdbec67305a063cf921ddffcce0c8 (diff)
downloadrneovim-4e02f1ab871f30d80250537877924d522497493b.tar.gz
rneovim-4e02f1ab871f30d80250537877924d522497493b.tar.bz2
rneovim-4e02f1ab871f30d80250537877924d522497493b.zip
Merge #8107 'jobs: separate process-group'
Diffstat (limited to 'src/nvim/event/libuv_process.c')
-rw-r--r--src/nvim/event/libuv_process.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/nvim/event/libuv_process.c b/src/nvim/event/libuv_process.c
index c101cb1bb9..0c2bf397e5 100644
--- a/src/nvim/event/libuv_process.c
+++ b/src/nvim/event/libuv_process.c
@@ -26,15 +26,18 @@ int libuv_process_spawn(LibuvProcess *uvproc)
uvproc->uvopts.file = proc->argv[0];
uvproc->uvopts.args = proc->argv;
uvproc->uvopts.flags = UV_PROCESS_WINDOWS_HIDE;
- if (proc->detach) {
- uvproc->uvopts.flags |= UV_PROCESS_DETACHED;
- }
#ifdef WIN32
// libuv collapses the argv to a CommandLineToArgvW()-style string. cmd.exe
// expects a different syntax (must be prepared by the caller before now).
if (os_shell_is_cmdexe(proc->argv[0])) {
uvproc->uvopts.flags |= UV_PROCESS_WINDOWS_VERBATIM_ARGUMENTS;
}
+ if (proc->detach) {
+ uvproc->uvopts.flags |= UV_PROCESS_DETACHED;
+ }
+#else
+ // Always setsid() on unix-likes. #8107
+ uvproc->uvopts.flags |= UV_PROCESS_DETACHED;
#endif
uvproc->uvopts.exit_cb = exit_cb;
uvproc->uvopts.cwd = proc->cwd;