mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-09-15 14:02:20 +00:00
Kernel: Mark sys$fork as not needing the big lock
All shared structures are already protected by "atomic" spinlocks for those structures, so there's no need to take the big process lock.
This commit is contained in:
parent
0be79f9bc2
commit
46ef2f8e20
Notes:
sideshowbarker
2024-07-16 22:14:49 +09:00
Author: https://github.com/supercomputer7
Commit: 46ef2f8e20
Pull-request: https://github.com/SerenityOS/serenity/pull/19055
2 changed files with 2 additions and 2 deletions
|
@ -79,7 +79,7 @@ enum class NeedsBigProcessLock {
|
||||||
S(fchmod, NeedsBigProcessLock::No) \
|
S(fchmod, NeedsBigProcessLock::No) \
|
||||||
S(fchown, NeedsBigProcessLock::No) \
|
S(fchown, NeedsBigProcessLock::No) \
|
||||||
S(fcntl, NeedsBigProcessLock::No) \
|
S(fcntl, NeedsBigProcessLock::No) \
|
||||||
S(fork, NeedsBigProcessLock::Yes) \
|
S(fork, NeedsBigProcessLock::No) \
|
||||||
S(fstat, NeedsBigProcessLock::No) \
|
S(fstat, NeedsBigProcessLock::No) \
|
||||||
S(fstatvfs, NeedsBigProcessLock::No) \
|
S(fstatvfs, NeedsBigProcessLock::No) \
|
||||||
S(fsync, NeedsBigProcessLock::No) \
|
S(fsync, NeedsBigProcessLock::No) \
|
||||||
|
|
|
@ -17,7 +17,7 @@ namespace Kernel {
|
||||||
|
|
||||||
ErrorOr<FlatPtr> Process::sys$fork(RegisterState& regs)
|
ErrorOr<FlatPtr> Process::sys$fork(RegisterState& regs)
|
||||||
{
|
{
|
||||||
VERIFY_PROCESS_BIG_LOCK_ACQUIRED(this);
|
VERIFY_NO_PROCESS_BIG_LOCK(this);
|
||||||
TRY(require_promise(Pledge::proc));
|
TRY(require_promise(Pledge::proc));
|
||||||
|
|
||||||
auto child_name = TRY(name().with([](auto& name) { return name->try_clone(); }));
|
auto child_name = TRY(name().with([](auto& name) { return name->try_clone(); }));
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue