diff options
author | Andreas Kling <kling@serenityos.org> | 2023-04-03 16:26:11 +0200 |
---|---|---|
committer | Andreas Kling <kling@serenityos.org> | 2023-04-04 10:33:42 +0200 |
commit | f0b5c585f27c269b12bde5553d71ba773797be04 (patch) | |
tree | 0e5e8259f6da3a33523e220cd107e46a8f55cde8 /Kernel | |
parent | e9fe0ecbae839989cf73171ca35d4070ac3fb8af (diff) | |
download | serenity-f0b5c585f27c269b12bde5553d71ba773797be04.zip |
Kernel: Mark sys$sigpending as not needing the big lock
Another one that only touches 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 2c024fbb69..65c8957bf8 100644 --- a/Kernel/API/Syscall.h +++ b/Kernel/API/Syscall.h @@ -176,7 +176,7 @@ enum class NeedsBigProcessLock { S(shutdown, NeedsBigProcessLock::No) \ S(sigaction, NeedsBigProcessLock::Yes) \ S(sigaltstack, NeedsBigProcessLock::Yes) \ - S(sigpending, NeedsBigProcessLock::Yes) \ + S(sigpending, NeedsBigProcessLock::No) \ S(sigprocmask, NeedsBigProcessLock::No) \ S(sigreturn, NeedsBigProcessLock::No) \ S(sigsuspend, NeedsBigProcessLock::No) \ diff --git a/Kernel/Syscalls/sigaction.cpp b/Kernel/Syscalls/sigaction.cpp index 4fa99237f7..5cf1296721 100644 --- a/Kernel/Syscalls/sigaction.cpp +++ b/Kernel/Syscalls/sigaction.cpp @@ -43,7 +43,7 @@ ErrorOr<FlatPtr> Process::sys$sigprocmask(int how, Userspace<sigset_t const*> se ErrorOr<FlatPtr> Process::sys$sigpending(Userspace<sigset_t*> set) { - VERIFY_PROCESS_BIG_LOCK_ACQUIRED(this); + VERIFY_NO_PROCESS_BIG_LOCK(this); TRY(require_promise(Pledge::stdio)); auto pending_signals = Thread::current()->pending_signals(); TRY(copy_to_user(set, &pending_signals)); |