mirror of
https://github.com/RGBCube/serenity
synced 2025-07-25 09:17:35 +00:00
Kernel+SystemMonitor: Publish can_read/write state for open files
The can_read() and can_write() states for file descriptions are now published in /proc, allowing SystemMonitor to display it.
This commit is contained in:
parent
660db0f79a
commit
06a80bcf69
3 changed files with 10 additions and 2 deletions
|
@ -226,6 +226,8 @@ Optional<KBuffer> procfs$pid_fds(InodeIdentifier identifier)
|
|||
description_object.add("offset", description->offset());
|
||||
description_object.add("cloexec", cloexec);
|
||||
description_object.add("blocking", description->is_blocking());
|
||||
description_object.add("can_read", description->can_read());
|
||||
description_object.add("can_write", description->can_write());
|
||||
}
|
||||
array.finish();
|
||||
return builder.build();
|
||||
|
|
|
@ -195,7 +195,7 @@ bool LocalSocket::can_read(const FileDescription& description) const
|
|||
return !has_attached_peer(description) || !m_for_server.is_empty();
|
||||
if (role == Role::Connected)
|
||||
return !has_attached_peer(description) || !m_for_client.is_empty();
|
||||
ASSERT_NOT_REACHED();
|
||||
return false;
|
||||
}
|
||||
|
||||
bool LocalSocket::has_attached_peer(const FileDescription& description) const
|
||||
|
@ -215,7 +215,7 @@ bool LocalSocket::can_write(const FileDescription& description) const
|
|||
return !has_attached_peer(description) || m_for_client.bytes_in_write_buffer() < 16384;
|
||||
if (role == Role::Connected)
|
||||
return !has_attached_peer(description) || m_for_server.bytes_in_write_buffer() < 16384;
|
||||
ASSERT_NOT_REACHED();
|
||||
return false;
|
||||
}
|
||||
|
||||
ssize_t LocalSocket::sendto(FileDescription& description, const void* data, size_t data_size, int, const sockaddr*, socklen_t)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue