On Fri, Mar 29, 2024 at 04:39:01PM +0100, Johannes Altmanninger wrote: > > diff --git a/src/trap.c b/src/trap.c > index cd84814..dbf81ea 100644 > --- a/src/trap.c > +++ b/src/trap.c > @@ -272,7 +272,7 @@ ignoresig(int signo) > signal(signo, SIG_IGN); > } > if (!vforked) > - sigmode[signo - 1] = S_HARD_IGN; > + sigmode[signo - 1] = S_IGN; This is buggy if sigmode is already S_HARD_IGN. You can fix this by moving the if statement inside the previous one. Please also add a comment stating that sigmode has already been initialised by setinteractive, as otherwise we may also lose a hard ignore. Thanks, -- Email: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Home Page: http://gondor.apana.org.au/~herbert/ PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt