diff options
author | Peter Stephenson <p.w.stephenson@ntlworld.com> | 2019-04-25 20:29:54 +0100 |
---|---|---|
committer | Peter Stephenson <p.w.stephenson@ntlworld.com> | 2019-04-25 20:29:54 +0100 |
commit | ca456fbba33d00a12bcec06589a08a4e9a081afd (patch) | |
tree | a5e8390d161759fd5d4c9b3b1e14e5d87d4d38aa /Src | |
parent | d4972af12c29bded4706464dbae3458e5a425d00 (diff) | |
download | zsh-ca456fbba33d00a12bcec06589a08a4e9a081afd.tar.gz zsh-ca456fbba33d00a12bcec06589a08a4e9a081afd.tar.xz zsh-ca456fbba33d00a12bcec06589a08a4e9a081afd.zip |
44284: Mark SIGQUIT as ignore if ignored on entry to shell.
This prevents us from re-enabling it after a fork if it is being ignored.
Diffstat (limited to 'Src')
-rw-r--r-- | Src/init.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/Src/init.c b/Src/init.c index e7e62e2f7..2d5c3296d 100644 --- a/Src/init.c +++ b/Src/init.c @@ -1234,6 +1234,15 @@ init_signals(void) intr(); +#ifdef POSIX_SIGNALS + { + struct sigaction act; + if (!sigaction(SIGQUIT, NULL, &act) && + act.sa_handler == SIG_IGN) + sigtrapped[SIGQUIT] = ZSIG_IGNORED; + } +#endif + #ifndef QDEBUG signal_ignore(SIGQUIT); #endif |