diff options
author | 2019-09-18 11:37:58 +0000 | |
---|---|---|
committer | 2019-09-18 11:37:58 +0000 | |
commit | 3d28e8e75c48a4adb911a52641ac1c589e7e4dab (patch) | |
tree | 8649c28ff8711d9a95b3e590e6210421cf6e4043 /usr.bin/tmux/spawn.c | |
parent | Implement server certificate validation in smtp(1). (diff) | |
download | wireguard-openbsd-3d28e8e75c48a4adb911a52641ac1c589e7e4dab.tar.xz wireguard-openbsd-3d28e8e75c48a4adb911a52641ac1c589e7e4dab.zip |
Do not set uninitialized signal mask when creating an empty pane.
Diffstat (limited to 'usr.bin/tmux/spawn.c')
-rw-r--r-- | usr.bin/tmux/spawn.c | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/usr.bin/tmux/spawn.c b/usr.bin/tmux/spawn.c index 724f4835db4..c7d0ebb2d35 100644 --- a/usr.bin/tmux/spawn.c +++ b/usr.bin/tmux/spawn.c @@ -1,4 +1,4 @@ -/* $OpenBSD: spawn.c,v 1.6 2019/06/30 19:21:53 nicm Exp $ */ +/* $OpenBSD: spawn.c,v 1.7 2019/09/18 11:37:58 nicm Exp $ */ /* * Copyright (c) 2019 Nicholas Marriott <nicholas.marriott@gmail.com> @@ -332,14 +332,6 @@ spawn_pane(struct spawn_context *sc, char **cause) cmd_log_argv(new_wp->argc, new_wp->argv, "%s", __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. */ memset(&ws, 0, sizeof ws); ws.ws_col = screen_size_x(&new_wp->base); @@ -349,6 +341,14 @@ spawn_pane(struct spawn_context *sc, char **cause) sigfillset(&set); 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. */ new_wp->pid = fdforkpty(ptm_fd, &new_wp->fd, new_wp->tty, NULL, &ws); if (new_wp->pid == -1) { |