1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 18:18:12 +00:00

Kernel: Use non-locking {Nonnull,}RefPtr for OpenFileDescription

This patch switches away from {Nonnull,}LockRefPtr to the non-locking
smart pointers throughout the kernel.

I've looked at the handful of places where these were being persisted
and I don't see any race situations.

Note that the process file descriptor table (Process::m_fds) was already
guarded via MutexProtected.
This commit is contained in:
Andreas Kling 2023-03-06 19:29:25 +01:00
parent 36b0ecfe9e
commit d1371d66f7
34 changed files with 82 additions and 80 deletions

View file

@ -51,7 +51,7 @@ ErrorOr<FlatPtr> Process::sys$poll(Userspace<Syscall::SC_poll_params const*> use
TRY(m_fds.with_shared([&](auto& fds) -> ErrorOr<void> {
for (size_t i = 0; i < params.nfds; i++) {
auto& pfd = fds_copy[i];
LockRefPtr<OpenFileDescription> description;
RefPtr<OpenFileDescription> description;
auto description_or_error = fds.open_file_description(pfd.fd);
if (!description_or_error.is_error())
description = description_or_error.release_value();