mirror of
https://github.com/tmux/tmux.git
synced 2025-09-02 13:37:12 +00:00
Because ignore SIGCHLD early, letting signal_del restore it doesn't work
correctly, so set it explicitly back to default (and the others for good measure).
This commit is contained in:
4
client.c
4
client.c
@ -365,7 +365,6 @@ client_main(struct event_base *base, int argc, char **argv, int flags)
|
||||
if (client_exittype == MSG_EXEC) {
|
||||
if (client_flags & CLIENT_CONTROLCONTROL)
|
||||
tcsetattr(STDOUT_FILENO, TCSAFLUSH, &saved_tio);
|
||||
proc_clear_signals(client_proc);
|
||||
client_exec(client_execshell, client_execcmd);
|
||||
}
|
||||
|
||||
@ -481,6 +480,8 @@ client_exec(const char *shell, const char *shellcmd)
|
||||
xasprintf(&argv0, "%s", name);
|
||||
setenv("SHELL", shell, 1);
|
||||
|
||||
proc_clear_signals(client_proc, 1);
|
||||
|
||||
setblocking(STDIN_FILENO, 1);
|
||||
setblocking(STDOUT_FILENO, 1);
|
||||
setblocking(STDERR_FILENO, 1);
|
||||
@ -628,7 +629,6 @@ client_dispatch_wait(struct imsg *imsg)
|
||||
if (datalen == 0 || data[datalen - 1] != '\0')
|
||||
fatalx("bad MSG_SHELL string");
|
||||
|
||||
proc_clear_signals(client_proc);
|
||||
client_exec(data, shell_command);
|
||||
/* NOTREACHED */
|
||||
case MSG_DETACH:
|
||||
|
Reference in New Issue
Block a user