The ptsignal() race against p_sigmask changes by dosigsuspend() are fixed.
authorclaudio <claudio@openbsd.org>
Fri, 10 May 2024 09:21:01 +0000 (09:21 +0000)
committerclaudio <claudio@openbsd.org>
Fri, 10 May 2024 09:21:01 +0000 (09:21 +0000)
Unlock sigsuspend() and __thrsigdivert() again.

sys/kern/syscalls.master

index 7a801dc..55f4849 100644 (file)
@@ -1,4 +1,4 @@
-;      $OpenBSD: syscalls.master,v 1.262 2024/04/24 19:09:14 claudio Exp $
+;      $OpenBSD: syscalls.master,v 1.263 2024/05/10 09:21:01 claudio Exp $
 ;      $NetBSD: syscalls.master,v 1.32 1996/04/23 10:24:21 mycroft Exp $
 
 ;      @(#)syscalls.master     8.2 (Berkeley) 1/13/94
 110    STD NOLOCK      { int sys_pselect(int nd, fd_set *in, fd_set *ou, \
                            fd_set *ex, const struct timespec *ts, \
                            const sigset_t *mask); }
-111    STD             { int sys_sigsuspend(int mask); }
+111    STD NOLOCK      { int sys_sigsuspend(int mask); }
 112    STD NOLOCK      { int sys_sendsyslog(const char *buf, size_t nbyte, \
                            int flags); }
 113    UNIMPL          fktrace
 301    STD NOLOCK      { int sys___thrwakeup(const volatile void *ident, \
                            int n); }
 302    STD             { void sys___threxit(pid_t *notdead); }
-303    STD             { int sys___thrsigdivert(sigset_t sigmask, \
+303    STD NOLOCK      { int sys___thrsigdivert(sigset_t sigmask, \
                            siginfo_t *info, const struct timespec *timeout); }
 304    STD             { int sys___getcwd(char *buf, size_t len); }
 305    STD NOLOCK      { int sys_adjfreq(const int64_t *freq, \