mirror of
https://github.com/fergalmoran/ladybird.git
synced 2025-12-26 19:29:16 +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:
@@ -262,7 +262,7 @@ ErrorOr<void> Process::procfs_get_fds_stats(KBufferBuilder& builder) const
|
||||
return {};
|
||||
}
|
||||
bool cloexec = file_description_metadata.flags() & FD_CLOEXEC;
|
||||
LockRefPtr<OpenFileDescription> description = file_description_metadata.description();
|
||||
auto const* description = file_description_metadata.description();
|
||||
auto description_object = TRY(array.add_object());
|
||||
TRY(description_object.add("fd"sv, count));
|
||||
// TODO: Better OOM handling.
|
||||
@@ -275,7 +275,7 @@ ErrorOr<void> Process::procfs_get_fds_stats(KBufferBuilder& builder) const
|
||||
TRY(description_object.add("blocking"sv, description->is_blocking()));
|
||||
TRY(description_object.add("can_read"sv, description->can_read()));
|
||||
TRY(description_object.add("can_write"sv, description->can_write()));
|
||||
Inode* inode = description->inode();
|
||||
Inode const* inode = description->inode();
|
||||
if (inode != nullptr) {
|
||||
auto inode_object = TRY(description_object.add_object("inode"sv));
|
||||
TRY(inode_object.add("fsid"sv, inode->fsid().value()));
|
||||
|
||||
Reference in New Issue
Block a user