On Thu, Jun 20, 2013 at 02:01:26PM +0200, Mark Kettenis wrote:
> > Date: Thu, 20 Jun 2013 14:25:49 +0300
> > From: Paul Irofti <[email protected]>
> > 
> > > + bs &= ~sigcantmask;
> > >   switch (SCARG(uap, how)) {
> > >   case LINUX_SIG_BLOCK:
> > > -         p->p_sigmask |= bs & ~sigcantmask;
> > > +         atomic_setbits_int(&p->p_sigmask, bs);
> > >           break;
> > >  
> > >   case LINUX_SIG_UNBLOCK:
> > > -         p->p_sigmask &= ~bs;
> > > +         atomic_clearbits_int(&p->p_sigmask, bs);
> > 
> > I'm pretty sure this is not correct with your change to bs before the
> > switch statement.
> 
> No that's fine.  The bits in sigcantmask should never be set.  So
> 
>     atomic_clearbits_int(&p->p_sigmask, bs & ~sigcanmask);
> 
> is equivalent to
> 
>     atomic_clearbits_int(&p->p_sigmask, bs);

Right, nevermind. Carry on.

Reply via email to