Kernel: Convert process file descriptor table to a SpinlockProtected

Instead of manually locking in the various member functions of
Process::OpenFileDescriptions, simply wrap it in a SpinlockProtected.
This commit is contained in:
Andreas Kling 2022-01-29 01:22:28 +01:00
commit 8ebec2938c
Notes: sideshowbarker 2024-07-18 00:54:03 +09:00
30 changed files with 257 additions and 190 deletions

View file

@ -23,7 +23,11 @@ ErrorOr<FlatPtr> Process::sys$fork(RegisterState& regs)
child->m_veil_state = m_veil_state;
child->m_unveiled_paths = m_unveiled_paths.deep_copy();
TRY(child->m_fds.try_clone(m_fds));
TRY(child->m_fds.with([&](auto& child_fds) {
return m_fds.with([&](auto& parent_fds) {
return child_fds.try_clone(parent_fds);
});
}));
child->m_pg = m_pg;