mirror of
https://github.com/RGBCube/serenity
synced 2025-07-25 16:57:35 +00:00
Kernel: Make sys$getppid() not take the big lock
This only needs to access the process PPID, which is protected by the "protected data" lock.
This commit is contained in:
parent
8ed06ad814
commit
18abba2c4d
2 changed files with 3 additions and 3 deletions
|
@ -92,7 +92,7 @@ enum class NeedsBigProcessLock {
|
||||||
S(getpgid, NeedsBigProcessLock::Yes) \
|
S(getpgid, NeedsBigProcessLock::Yes) \
|
||||||
S(getpgrp, NeedsBigProcessLock::Yes) \
|
S(getpgrp, NeedsBigProcessLock::Yes) \
|
||||||
S(getpid, NeedsBigProcessLock::No) \
|
S(getpid, NeedsBigProcessLock::No) \
|
||||||
S(getppid, NeedsBigProcessLock::Yes) \
|
S(getppid, NeedsBigProcessLock::No) \
|
||||||
S(getrandom, NeedsBigProcessLock::No) \
|
S(getrandom, NeedsBigProcessLock::No) \
|
||||||
S(getresgid, NeedsBigProcessLock::No) \
|
S(getresgid, NeedsBigProcessLock::No) \
|
||||||
S(getresuid, NeedsBigProcessLock::No) \
|
S(getresuid, NeedsBigProcessLock::No) \
|
||||||
|
|
|
@ -18,9 +18,9 @@ ErrorOr<FlatPtr> Process::sys$getpid()
|
||||||
|
|
||||||
ErrorOr<FlatPtr> Process::sys$getppid()
|
ErrorOr<FlatPtr> Process::sys$getppid()
|
||||||
{
|
{
|
||||||
VERIFY_PROCESS_BIG_LOCK_ACQUIRED(this);
|
VERIFY_NO_PROCESS_BIG_LOCK(this);
|
||||||
TRY(require_promise(Pledge::stdio));
|
TRY(require_promise(Pledge::stdio));
|
||||||
return with_protected_data([](auto& protected_data) { return protected_data.ppid.value(); });
|
return ppid().value();
|
||||||
}
|
}
|
||||||
|
|
||||||
ErrorOr<FlatPtr> Process::sys$get_process_name(Userspace<char*> buffer, size_t buffer_size)
|
ErrorOr<FlatPtr> Process::sys$get_process_name(Userspace<char*> buffer, size_t buffer_size)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue