aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/nvim/eval.c4
-rw-r--r--src/nvim/event/pty_process.c4
2 files changed, 4 insertions, 4 deletions
diff --git a/src/nvim/eval.c b/src/nvim/eval.c
index d61cccd41c..9d838406ac 100644
--- a/src/nvim/eval.c
+++ b/src/nvim/eval.c
@@ -21051,7 +21051,9 @@ static inline TerminalJobData *common_job_init(char **argv, ufunc_T *on_stdout,
proc->argv = argv;
proc->in = &data->in;
proc->out = &data->out;
- proc->err = &data->err;
+ if (!pty) {
+ proc->err = &data->err;
+ }
proc->cb = on_process_exit;
proc->events = data->events;
return data;
diff --git a/src/nvim/event/pty_process.c b/src/nvim/event/pty_process.c
index 0aa0d6fbd4..5a42695ae4 100644
--- a/src/nvim/event/pty_process.c
+++ b/src/nvim/event/pty_process.c
@@ -37,6 +37,7 @@ bool pty_process_spawn(PtyProcess *ptyproc)
FUNC_ATTR_NONNULL_ALL
{
Process *proc = (Process *)ptyproc;
+ assert(!proc->err);
uv_signal_start(&proc->loop->children_watcher, chld_handler, SIGCHLD);
ptyproc->winsize = (struct winsize){ptyproc->height, ptyproc->width, 0, 0};
struct termios termios;
@@ -70,9 +71,6 @@ bool pty_process_spawn(PtyProcess *ptyproc)
if (proc->out && !set_duplicating_descriptor(master, &proc->out->uv.pipe)) {
goto error;
}
- if (proc->err && !set_duplicating_descriptor(master, &proc->err->uv.pipe)) {
- goto error;
- }
ptyproc->tty_fd = master;
proc->pid = pid;