mirror of
https://github.com/tmux/tmux.git
synced 2024-12-14 02:48:47 +00:00
Do not set uninitialized signal mask when creating an empty pane.
This commit is contained in:
parent
9d1cecea8e
commit
f0712a7569
16
spawn.c
16
spawn.c
@ -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) {
|
||||||
|
Loading…
Reference in New Issue
Block a user