From 6c02c493f104e866b8790df978a11972966a8d0a Mon Sep 17 00:00:00 2001 From: Andreas Kling Date: Mon, 3 Apr 2023 16:35:21 +0200 Subject: [PATCH] Kernel: Mark sys$sigtimedwait as not needing the big lock Yet another syscall that only messes with the current thread. --- Kernel/API/Syscall.h | 2 +- Kernel/Syscalls/sigaction.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Kernel/API/Syscall.h b/Kernel/API/Syscall.h index 65c8957bf8..20887f17c0 100644 --- a/Kernel/API/Syscall.h +++ b/Kernel/API/Syscall.h @@ -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) \ diff --git a/Kernel/Syscalls/sigaction.cpp b/Kernel/Syscalls/sigaction.cpp index 5cf1296721..7071b92978 100644 --- a/Kernel/Syscalls/sigaction.cpp +++ b/Kernel/Syscalls/sigaction.cpp @@ -295,7 +295,7 @@ ErrorOr Process::sys$sigaltstack(Userspace user_ss, Use // https://pubs.opengroup.org/onlinepubs/9699919799/functions/sigtimedwait.html ErrorOr Process::sys$sigtimedwait(Userspace set, Userspace info, Userspace timeout) { - VERIFY_PROCESS_BIG_LOCK_ACQUIRED(this); + VERIFY_NO_PROCESS_BIG_LOCK(this); TRY(require_promise(Pledge::sigaction)); sigset_t set_value;