Hi all,
I was having a look at the last kern_sig.c and the following seems wrong :
/*
* Send a signal caused by a trap to the current process.
* If it will be caught immediately, deliver it with correct code.
* Otherwise, post it normally.
*/
void
trapsignal(p, sig, code)
struct proc *p;
register int sig;
u_long code;
{
register struct sigacts *ps = p->p_sigacts;
if ((p->p_flag & P_TRACED) == 0 && SIGISMEMBER(p->p_sigcatch, sig) &&
SIGISMEMBER(p->p_sigmask, sig)) {
~~~~~~~~~~~~~~~~~~~~~~
p->p_stats->p_ru.ru_nsignals++;
.....
Seems to me one needs a :
SIGISMEMBER(p->p_sigmask, sig) == 0
Dimitri
To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message