Forráskód Böngészése

Kernel: Mark sys$getpgrp as not needing the big lock

Access to the process's process group is already serialized by
SpinlockProtected.
Andreas Kling 2 éve
szülő
commit
1382439267
2 módosított fájl, 2 hozzáadás és 2 törlés
  1. 1 1
      Kernel/API/Syscall.h
  2. 1 1
      Kernel/Syscalls/setpgid.cpp

+ 1 - 1
Kernel/API/Syscall.h

@@ -97,7 +97,7 @@ enum class NeedsBigProcessLock {
     S(getkeymap, NeedsBigProcessLock::No)                   \
     S(getpeername, NeedsBigProcessLock::Yes)                \
     S(getpgid, NeedsBigProcessLock::No)                     \
-    S(getpgrp, NeedsBigProcessLock::Yes)                    \
+    S(getpgrp, NeedsBigProcessLock::No)                     \
     S(getpid, NeedsBigProcessLock::No)                      \
     S(getppid, NeedsBigProcessLock::No)                     \
     S(getrandom, NeedsBigProcessLock::No)                   \

+ 1 - 1
Kernel/Syscalls/setpgid.cpp

@@ -61,7 +61,7 @@ ErrorOr<FlatPtr> Process::sys$getpgid(pid_t pid)
 
 ErrorOr<FlatPtr> Process::sys$getpgrp()
 {
-    VERIFY_PROCESS_BIG_LOCK_ACQUIRED(this);
+    VERIFY_NO_PROCESS_BIG_LOCK(this);
     TRY(require_promise(Pledge::stdio));
     return pgid().value();
 }