> If you're right that atomic_{clear,set}bits_int is correct and
> sufficient and actually faster, then all dynamic executables would
> benefit from this speedup (sigprocmask is used in ld.so(1)).Since on i386 GENERIC these atomic_* things don't emit the LOCK prefix, performance shouldn't be an issue; I'm actually more worried about this bit: > > - 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. 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. -- Martin Pelikan
