diff --git a/ChangeLog b/ChangeLog index a5ac4f333..1bb443f6e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2019-04-25 Peter Stephenson + + * 44248: Src/init.c: Mark SIGQUIT as ignored if ignored at + shell start, so we don't enable it after a fork. + 2019-04-25 Peter Stephenson * 44254: Src/compat.c: make quite sure we've reached "/" 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