signal: Make sure that the signal mask is actually unsigned long.

* lib/linux/signal.c (signal): Make sure that the signal mask is actually
unsigned long.
This commit is contained in:
Danny Milosavljevic 2019-07-04 02:39:11 +02:00 committed by Jan Nieuwenhuizen
parent 5754e379af
commit e8bbe21499
No known key found for this signature in database
GPG key ID: F3C1A0D9C1D65273

View file

@ -47,7 +47,7 @@ signal (int signum, sighandler_t action)
setup_action.sa_restorer = _restorer;
bitindex = signum - 1;
itembitcount = 8 * sizeof(setup_action.sa_mask.items[0]);
setup_action.sa_mask.items[bitindex / itembitcount] = 1 << (bitindex % itembitcount);
setup_action.sa_mask.items[bitindex / itembitcount] = 1UL << (bitindex % itembitcount);
old.sa_handler = SIG_DFL;
setup_action.sa_flags = SA_RESTORER | SA_RESTART;
int r = _sys_call4 (SYS_rt_sigaction, signum, &setup_action, &old, sizeof (sigset_t));