> > > -         p->p_sigmask = mask &~ sigcantmask;
> > > +         p->p_sigmask = mask;
> 
> On the right architecture where a word store isn't atomic enough and
> with the right compiler that decides to put p_sigmask on an address
> ending with 0xFFF with 4k-sized pages, we have two problems already.

Holy Pumpkin forbid, struct proc layout is sane enough for fields to be
aligned to their natural alignment, and the allocator will return
properly aligned structs as well.

> I'm only asking if such a situation can happen, or if there is some
> ensure_this_assignment_is_always_atomic(&p->p_sigmask, mask); function
> that I missed.

If such a function exists, it should be shot, if only for having a too
long name.

Miod

Reply via email to