From 5ca46abb5134d345f1dbbde382f0f4a68c33c63a Mon Sep 17 00:00:00 2001 From: Idan Horowitz Date: Sat, 9 Jul 2022 23:55:47 +0300 Subject: [PATCH] Kernel: Set POLLHUP on WriteHangUp in sys$poll instead of POLLNVAL POLLNVAL signifies an invalid fd, not a write hang up. --- Kernel/Syscalls/poll.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Kernel/Syscalls/poll.cpp b/Kernel/Syscalls/poll.cpp index a647ce6a43..79efa69433 100644 --- a/Kernel/Syscalls/poll.cpp +++ b/Kernel/Syscalls/poll.cpp @@ -97,7 +97,7 @@ ErrorOr Process::sys$poll(Userspace use if (has_flag(fds_entry.unblocked_flags, BlockFlags::WriteError)) pfd.revents |= POLLERR; if (has_flag(fds_entry.unblocked_flags, BlockFlags::WriteHangUp)) - pfd.revents |= POLLNVAL; + pfd.revents |= POLLHUP; } else { if (has_flag(fds_entry.unblocked_flags, BlockFlags::Read)) { VERIFY(pfd.events & POLLIN);