diff options
author | Andreas Kling <kling@serenityos.org> | 2023-04-03 16:24:01 +0200 |
---|---|---|
committer | Andreas Kling <kling@serenityos.org> | 2023-04-04 10:33:42 +0200 |
commit | e9fe0ecbae839989cf73171ca35d4070ac3fb8af (patch) | |
tree | 97c029e46d4aead79706b863863a1cee8a81ca0a /Kernel | |
parent | d1fae8b09c837573e739c93ef2f2e6e805e138fd (diff) | |
download | serenity-e9fe0ecbae839989cf73171ca35d4070ac3fb8af.zip |
Kernel: Mark sys$sigprocmask as not needing the big lock
Another one that only messes with the current thread.
Diffstat (limited to 'Kernel')
-rw-r--r-- | Kernel/API/Syscall.h | 2 | ||||
-rw-r--r-- | 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 edb9f22ec8..2c024fbb69 100644 --- a/Kernel/API/Syscall.h +++ b/Kernel/API/Syscall.h @@ -177,7 +177,7 @@ enum class NeedsBigProcessLock { S(sigaction, NeedsBigProcessLock::Yes) \ S(sigaltstack, NeedsBigProcessLock::Yes) \ S(sigpending, NeedsBigProcessLock::Yes) \ - S(sigprocmask, NeedsBigProcessLock::Yes) \ + S(sigprocmask, NeedsBigProcessLock::No) \ S(sigreturn, NeedsBigProcessLock::No) \ S(sigsuspend, NeedsBigProcessLock::No) \ S(sigtimedwait, NeedsBigProcessLock::Yes) \ diff --git a/Kernel/Syscalls/sigaction.cpp b/Kernel/Syscalls/sigaction.cpp index 2665f93848..4fa99237f7 100644 --- a/Kernel/Syscalls/sigaction.cpp +++ b/Kernel/Syscalls/sigaction.cpp @@ -13,7 +13,7 @@ namespace Kernel { ErrorOr<FlatPtr> Process::sys$sigprocmask(int how, Userspace<sigset_t const*> set, Userspace<sigset_t*> old_set) { - VERIFY_PROCESS_BIG_LOCK_ACQUIRED(this); + VERIFY_NO_PROCESS_BIG_LOCK(this); TRY(require_promise(Pledge::sigaction)); auto* current_thread = Thread::current(); u32 previous_signal_mask; |