From f0b5c585f27c269b12bde5553d71ba773797be04 Mon Sep 17 00:00:00 2001 From: Andreas Kling Date: Mon, 3 Apr 2023 16:26:11 +0200 Subject: Kernel: Mark sys$sigpending as not needing the big lock Another one that only touches the current thread. --- Kernel/API/Syscall.h | 2 +- Kernel/Syscalls/sigaction.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'Kernel') 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 Process::sys$sigprocmask(int how, Userspace se ErrorOr Process::sys$sigpending(Userspace 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)); -- cgit v1.2.3