mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2024-09-29 16:21:29 +00:00
Kernel: Mark sys$dup2() as not needing the big lock
This syscall doesn't access any data that was implicitly protected by the big lock.
This commit is contained in:
parent
8aad9e7448
commit
d074aae422
Notes:
sideshowbarker
2024-07-18 01:43:16 +09:00
Author: https://github.com/awesomekling Commit: https://github.com/SerenityOS/serenity/commit/d074aae422
|
@ -62,7 +62,7 @@ enum class NeedsBigProcessLock {
|
|||
S(detach_thread, NeedsBigProcessLock::Yes) \
|
||||
S(disown, NeedsBigProcessLock::Yes) \
|
||||
S(dump_backtrace, NeedsBigProcessLock::No) \
|
||||
S(dup2, NeedsBigProcessLock::Yes) \
|
||||
S(dup2, NeedsBigProcessLock::No) \
|
||||
S(emuctl, NeedsBigProcessLock::Yes) \
|
||||
S(execve, NeedsBigProcessLock::Yes) \
|
||||
S(exit, NeedsBigProcessLock::Yes) \
|
||||
|
|
|
@ -11,7 +11,7 @@ namespace Kernel {
|
|||
|
||||
ErrorOr<FlatPtr> Process::sys$dup2(int old_fd, int new_fd)
|
||||
{
|
||||
VERIFY_PROCESS_BIG_LOCK_ACQUIRED(this);
|
||||
VERIFY_NO_PROCESS_BIG_LOCK(this);
|
||||
TRY(require_promise(Pledge::stdio));
|
||||
return m_fds.with_exclusive([&](auto& fds) -> ErrorOr<FlatPtr> {
|
||||
auto description = TRY(fds.open_file_description(old_fd));
|
||||
|
|
Loading…
Reference in a new issue