mirror of
https://github.com/tmux/tmux.git
synced 2025-09-01 20:57:00 +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:
12
proc.c
12
proc.c
@ -242,7 +242,7 @@ proc_set_signals(struct tmuxproc *tp, void (*signalcb)(int))
|
||||
}
|
||||
|
||||
void
|
||||
proc_clear_signals(struct tmuxproc *tp)
|
||||
proc_clear_signals(struct tmuxproc *tp, int defaults)
|
||||
{
|
||||
struct sigaction sa;
|
||||
|
||||
@ -262,6 +262,16 @@ proc_clear_signals(struct tmuxproc *tp)
|
||||
signal_del(&tp->ev_sigusr1);
|
||||
signal_del(&tp->ev_sigusr2);
|
||||
signal_del(&tp->ev_sigwinch);
|
||||
|
||||
if (defaults) {
|
||||
sigaction(SIGHUP, &sa, NULL);
|
||||
sigaction(SIGCHLD, &sa, NULL);
|
||||
sigaction(SIGCONT, &sa, NULL);
|
||||
sigaction(SIGTERM, &sa, NULL);
|
||||
sigaction(SIGUSR1, &sa, NULL);
|
||||
sigaction(SIGUSR2, &sa, NULL);
|
||||
sigaction(SIGWINCH, &sa, NULL);
|
||||
}
|
||||
}
|
||||
|
||||
struct tmuxpeer *
|
||||
|
Reference in New Issue
Block a user