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

Share the "blocked-on file descriptor" number between read() and write().

A process can't be reading and writing at the same time, so it's fine for
them to share the variable for the blocked FD.
This commit is contained in:
Andreas Kling 2018-12-03 00:42:48 +01:00
parent f6e27c2abe
commit 4bc87dc7b9
3 changed files with 3 additions and 4 deletions

View file

@ -1055,7 +1055,7 @@ ssize_t Process::sys$read(int fd, void* outbuf, size_t nread)
return -EBADF;
if (descriptor->is_blocking()) {
if (!descriptor->has_data_available_for_reading()) {
m_fdBlockedOnRead = fd;
m_blocked_fd = fd;
block(BlockedRead);
sched_yield();
if (m_was_interrupted_while_blocked)