> Nate Williams wrote:
> >> Following up on my previous mail regarding the panic on the Alpha,
> >> I've been looking at the diff for the code in question, in
> >> "src/sys/nfs/nfs_socket.c":
> >>
> >> @@ -1501,14 +1502,16 @@
> >> struct nfsreq *rep;
> >> register struct proc *p;
> >> {
> >> + sigset_t tmpset;
> >>
> >> + tmpset = p->p_siglist;
> >> + SIGSETNAND(tmpset, p->p_sigmask);
> >> + SIGSETNAND(tmpset, p->p_sigignore);
> >> if (rep && (rep->r_flags & R_SOFTTERM))
> >> return (EINTR);
> >> if (!(nmp->nm_flag & NFSMNT_INT))
> >> return (0);
> >> - if (p && p->p_siglist &&
> >> - (((p->p_siglist & ~p->p_sigmask) & ~p->p_sigignore) &
> >> - NFSINT_SIGMASK))
> >> + if (p && SIGNOTEMPTY(p->p_siglist) && NFSINT_SIGMASK(tmpset))
> >> return (EINTR);
> >> return (0);
> >> }
> >>
> >> It looks like the old code was prepared for "p" to be NULL, but the
> >> new code assumes it is non-NULL.
> >
> > Am I missing something?
> >
> > - if (p && p->p_siglist &&
> > - (((p->p_siglist & ~p->p_sigmask) & ~p->p_sigignore) &
> > - NFSINT_SIGMASK))
> > + if (p && SIGNOTEMPTY(p->p_siglist) && NFSINT_SIGMASK(tmpset))
> >
> > The
> > if (p ....
> >
> > in both cases checks for an null p. Or, am I missing something?
>
> You're missing the use of "p->p_siglist" that was added at the top
> of the function.
Whoops, thanks for pointing that out.
Just call me 'mole-eyed Nate'. *sigh*
Nate
To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message