> 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

Reply via email to