CVSROOT: /cvs Module name: src Changes by: clau...@cvs.openbsd.org 2024/04/10 04:05:26
Modified files: sys/kern : kern_sig.c sys_generic.c sys/sys : proc.h Log message: Unlock dosigsuspend() and with that some aspects of ppoll and pselect Change p_sigmask from atomic back to non-atomic updates. All changes to p_sigmask are only allowed by curproc (the owner). There is no need for atomic instructions here. p_sigmask is mostly accessed by curproc with the exception of ptsignal(). In ptsignal() p_sigmask is now only read once unless a SSLEEP proc gets the signal. In that case recheck the p_sigmask before wakeup to ensure that no unnecessary wakeup happens. Add some KASSERT(p == curproc) to ensure this precondition. sigabort() is special since it is also called by ddb but apart from that only works for curproc. With and OK mvs@ OK mpi@