checksignals hackery?

Richard Henderson (rth@cygnus.com)
Sat, 5 Sep 1998 11:26:53 -0700


Can someone explain wtf this is trying to test?

void checksignals(void)
{
sigset_t *blocked = &current->blocked;
unsigned long mask = blocked->sig[0] | sigmask(SIGKILL) | sigmask(SIGINT) | sigmask(SIGQUIT);
mask &= blocked->sig[1];
if (~mask) {
printk("Bad signal mask\n");
*(int *) 0 = 0;
}
}

It seems to be confused wrt sig[1]. Should that have been
an IOR instead of an AND?

And why, if it is important at all, it was implemented in
arch/i386/kernel/signal.c rather than kernel/signal.c? Is
this just some big of debug hackery that was accidentally
left in?

r~

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/faq.html