Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

Re: Why does zsh un-ignores SIGQUIT?



On Thu, 2019-04-25 at 22:17 +0100, Stephane Chazelas wrote:
> I wonder what the rationale is for why zsh will happily install a
> handler on an ignored signal but not reset to default.

I think it's simply this in the removetrap() code...

    trapped = sigtrapped[sig];
...
    if (!trapped) {
	unqueue_signals();
        return NULL;
    }

If the signal was ignored on entry, it stays ignored (because that's
down in the OS), but zsh doesn't mark it as handled specially.  So
when we get the request to unset it we execute this code, shrugging our
shoulders and doing nothing.  For SIGQUIT we now do mark it as
handled specially.

Instead of laboriously setting up records for all signals, maybe we
could add a call to set the default signal handler in the "if" above?
At worst that should have no effect, probably.

pws



Messages sorted by: Reverse Date, Date, Thread, Author