Browse Source

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

Same as sys$kill, nothing here that isn't already protected by existing
locks.
Andreas Kling 2 năm trước cách đây
mục cha
commit
08d79c757a
2 tập tin đã thay đổi với 2 bổ sung2 xóa
  1. 1 1
      Kernel/API/Syscall.h
  2. 1 1
      Kernel/Syscalls/kill.cpp

+ 1 - 1
Kernel/API/Syscall.h

@@ -117,7 +117,7 @@ enum class NeedsBigProcessLock {
     S(jail_attach, NeedsBigProcessLock::No)                 \
     S(kill, NeedsBigProcessLock::No)                        \
     S(kill_thread, NeedsBigProcessLock::Yes)                \
-    S(killpg, NeedsBigProcessLock::Yes)                     \
+    S(killpg, NeedsBigProcessLock::No)                      \
     S(link, NeedsBigProcessLock::No)                        \
     S(listen, NeedsBigProcessLock::No)                      \
     S(lseek, NeedsBigProcessLock::No)                       \

+ 1 - 1
Kernel/Syscalls/kill.cpp

@@ -134,7 +134,7 @@ ErrorOr<FlatPtr> Process::sys$kill(pid_t pid_or_pgid, int signal)
 
 ErrorOr<FlatPtr> Process::sys$killpg(pid_t pgrp, int signum)
 {
-    VERIFY_PROCESS_BIG_LOCK_ACQUIRED(this);
+    VERIFY_NO_PROCESS_BIG_LOCK(this);
     TRY(require_promise(Pledge::proc));
     if (signum < 1 || signum >= 32)
         return EINVAL;