Fix bug where using a 16-bit signal mask caused some signal handlers not to be installed.

This manifested itself in interactive hush shells getting suspended when ^Z was typed (and maybe also other ways).
This commit is contained in:
Stephen Heumann 2015-01-15 20:34:20 -06:00
parent 3d106c6708
commit bb88e739e5

View File

@ -8278,7 +8278,7 @@ static void install_special_sighandlers(void)
}
/* Careful, do not re-install handlers we already installed */
if (G.special_sig_mask != mask) {
unsigned diff = mask & ~G.special_sig_mask;
unsigned long diff = mask & ~G.special_sig_mask;
G.special_sig_mask = mask;
install_sighandlers(diff);
}