Merge branch 'obsd-master'

This commit is contained in:
Thomas Adam 2019-09-18 14:01:24 +01:00
commit d30b612809

16
spawn.c
View File

@ -330,14 +330,6 @@ spawn_pane(struct spawn_context *sc, char **cause)
cmd_log_argv(new_wp->argc, new_wp->argv, "%s", __func__); cmd_log_argv(new_wp->argc, new_wp->argv, "%s", __func__);
environ_log(child, "%s: environment ", __func__); environ_log(child, "%s: environment ", __func__);
/* If the command is empty, don't fork a child process. */
if (sc->flags & SPAWN_EMPTY) {
new_wp->flags |= PANE_EMPTY;
new_wp->base.mode &= ~MODE_CURSOR;
new_wp->base.mode |= MODE_CRLF;
goto complete;
}
/* Initialize the window size. */ /* Initialize the window size. */
memset(&ws, 0, sizeof ws); memset(&ws, 0, sizeof ws);
ws.ws_col = screen_size_x(&new_wp->base); ws.ws_col = screen_size_x(&new_wp->base);
@ -347,6 +339,14 @@ spawn_pane(struct spawn_context *sc, char **cause)
sigfillset(&set); sigfillset(&set);
sigprocmask(SIG_BLOCK, &set, &oldset); sigprocmask(SIG_BLOCK, &set, &oldset);
/* If the command is empty, don't fork a child process. */
if (sc->flags & SPAWN_EMPTY) {
new_wp->flags |= PANE_EMPTY;
new_wp->base.mode &= ~MODE_CURSOR;
new_wp->base.mode |= MODE_CRLF;
goto complete;
}
/* Fork the new process. */ /* Fork the new process. */
new_wp->pid = fdforkpty(ptm_fd, &new_wp->fd, new_wp->tty, NULL, &ws); new_wp->pid = fdforkpty(ptm_fd, &new_wp->fd, new_wp->tty, NULL, &ws);
if (new_wp->pid == -1) { if (new_wp->pid == -1) {