Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 7 Jul 2001 21:34:31 -0500
From:      Alfred Perlstein <bright@sneakerz.org>
To:        smp@freebsd.org
Cc:        jhb@freebsd.org, jake@freebsd.org
Subject:   trapsignal+ktrace looks broken.
Message-ID:  <20010707213431.J88962@sneakerz.org>

next in thread | raw e-mail | index | archive | help
In kern/kern_sig.c:trapsignal(), there's this:

{
        register struct sigacts *ps = p->p_sigacts;

        PROC_LOCK(p);
        if ((p->p_flag & P_TRACED) == 0 && SIGISMEMBER(p->p_sigcatch, sig) &&
            !SIGISMEMBER(p->p_sigmask, sig)) {
                p->p_stats->p_ru.ru_nsignals++;
#ifdef KTRACE
                if (KTRPOINT(p, KTR_PSIG))
                        ktrpsig(p->p_tracep, sig, ps->ps_sigact[_SIG_IDX(sig)],
                                &p->p_sigmask, code);
#endif
                PROC_UNLOCK(p); /* XXX ??? */
                (*p->p_sysent->sv_sendsig)(ps->ps_sigact[_SIG_IDX(sig)], sig,

Anyhow, ktrpsig() does some IO, which I'm quite sure may result in a
sleep, I'm also quite certain that would result in a panic with witness.

-- 
-Alfred Perlstein [alfred@freebsd.org]
Ok, who wrote this damn function called '??'?
And why do my programs keep crashing in it?

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-smp" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20010707213431.J88962>