From 67254ed8df2434d7c974f66fbdbf3e4c58f61319 Mon Sep 17 00:00:00 2001 From: nicm Date: Fri, 30 Nov 2018 08:44:40 +0000 Subject: Clear PANE_EXITED flag when starting new child process in case the pane has been respawned. --- window.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'window.c') diff --git a/window.c b/window.c index 530d9574..9a6c729c 100644 --- a/window.c +++ b/window.c @@ -921,6 +921,7 @@ window_pane_spawn(struct window_pane *wp, int argc, char **argv, sigprocmask(SIG_BLOCK, &set, &oldset); switch (wp->pid = fdforkpty(ptm_fd, &wp->fd, wp->tty, NULL, &ws)) { case -1: + wp->event = NULL; wp->fd = -1; xasprintf(cause, "%s: %s", cmd, strerror(errno)); @@ -1000,6 +1001,9 @@ window_pane_spawn(struct window_pane *wp, int argc, char **argv, if (wp->event == NULL) fatalx("out of memory"); + wp->pipe_off = 0; + wp->flags &= ~PANE_EXITED; + bufferevent_setwatermark(wp->event, EV_READ, 0, READ_SIZE); bufferevent_enable(wp->event, EV_READ|EV_WRITE); -- cgit