1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-26 10:17:35 +00:00

Kernel: Make sys$pipe() not take the big lock

This system call mainly accesses the file descriptor table, and this is
already guarded by MutexProtected.
This commit is contained in:
Andreas Kling 2022-08-16 20:20:11 +02:00
parent 0b58fd5aef
commit 307932857e
2 changed files with 2 additions and 2 deletions

View file

@ -126,7 +126,7 @@ enum class NeedsBigProcessLock {
S(open, NeedsBigProcessLock::Yes) \ S(open, NeedsBigProcessLock::Yes) \
S(perf_event, NeedsBigProcessLock::Yes) \ S(perf_event, NeedsBigProcessLock::Yes) \
S(perf_register_string, NeedsBigProcessLock::Yes) \ S(perf_register_string, NeedsBigProcessLock::Yes) \
S(pipe, NeedsBigProcessLock::Yes) \ S(pipe, NeedsBigProcessLock::No) \
S(pledge, NeedsBigProcessLock::Yes) \ S(pledge, NeedsBigProcessLock::Yes) \
S(poll, NeedsBigProcessLock::Yes) \ S(poll, NeedsBigProcessLock::Yes) \
S(posix_fallocate, NeedsBigProcessLock::No) \ S(posix_fallocate, NeedsBigProcessLock::No) \

View file

@ -11,7 +11,7 @@ namespace Kernel {
ErrorOr<FlatPtr> Process::sys$pipe(int pipefd[2], int flags) ErrorOr<FlatPtr> Process::sys$pipe(int pipefd[2], int flags)
{ {
VERIFY_PROCESS_BIG_LOCK_ACQUIRED(this) VERIFY_NO_PROCESS_BIG_LOCK(this)
TRY(require_promise(Pledge::stdio)); TRY(require_promise(Pledge::stdio));
// Reject flags other than O_CLOEXEC, O_NONBLOCK // Reject flags other than O_CLOEXEC, O_NONBLOCK