Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 29 Sep 1999 12:06:09 -0700 (PDT)
From:      John Polstra <jdp@polstra.com>
To:        Nate Williams <nate@mt.sri.com>
Cc:        current@FreeBSD.ORG, marcel@scc.nl
Subject:   Re: HEADS UP: sigset_t changes committed
Message-ID:  <XFMail.990929120609.jdp@polstra.com>
In-Reply-To: <199909291902.NAA24329@mt.sri.com>

next in thread | previous in thread | raw e-mail | index | archive | help

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.

John


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




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