Kernel: Mark sys$sigtimedwait as not needing the big lock

Yet another syscall that only messes with the current thread.
This commit is contained in:
Andreas Kling 2023-04-03 16:35:21 +02:00
parent f0b5c585f2
commit 6c02c493f1
Notes: sideshowbarker 2024-07-16 22:34:39 +09:00
2 changed files with 2 additions and 2 deletions

View file

@ -180,7 +180,7 @@ enum class NeedsBigProcessLock {
S(sigprocmask, NeedsBigProcessLock::No) \
S(sigreturn, NeedsBigProcessLock::No) \
S(sigsuspend, NeedsBigProcessLock::No) \
S(sigtimedwait, NeedsBigProcessLock::Yes) \
S(sigtimedwait, NeedsBigProcessLock::No) \
S(socket, NeedsBigProcessLock::No) \
S(socketpair, NeedsBigProcessLock::No) \
S(stat, NeedsBigProcessLock::No) \

View file

@ -295,7 +295,7 @@ ErrorOr<FlatPtr> Process::sys$sigaltstack(Userspace<stack_t const*> user_ss, Use
// https://pubs.opengroup.org/onlinepubs/9699919799/functions/sigtimedwait.html
ErrorOr<FlatPtr> Process::sys$sigtimedwait(Userspace<sigset_t const*> set, Userspace<siginfo_t*> info, Userspace<timespec const*> timeout)
{
VERIFY_PROCESS_BIG_LOCK_ACQUIRED(this);
VERIFY_NO_PROCESS_BIG_LOCK(this);
TRY(require_promise(Pledge::sigaction));
sigset_t set_value;