diff --git a/Kernel/Net/LocalSocket.cpp b/Kernel/Net/LocalSocket.cpp index 8041c8d459..d6be8a6770 100644 --- a/Kernel/Net/LocalSocket.cpp +++ b/Kernel/Net/LocalSocket.cpp @@ -343,9 +343,8 @@ KResultOr LocalSocket::recvfrom(FileDescription& description, UserOrKern } } else if (!can_read(description, 0)) { auto unblock_flags = Thread::FileDescriptionBlocker::BlockFlags::None; - if (Thread::current()->block({}, description, unblock_flags).was_interrupted()) { + if (Thread::current()->block({}, description, unblock_flags).was_interrupted()) return set_so_error(EINTR); - } } if (!has_attached_peer(description) && socket_buffer->is_empty()) return 0; diff --git a/Kernel/Net/Socket.cpp b/Kernel/Net/Socket.cpp index d7a69fa456..a3c13316ad 100644 --- a/Kernel/Net/Socket.cpp +++ b/Kernel/Net/Socket.cpp @@ -181,14 +181,13 @@ KResult Socket::getsockopt(FileDescription&, int level, int option, Userspace(value), &errno)) return EFAULT; size = sizeof(int); if (!copy_to_user(value_size, &size)) return EFAULT; - return KSuccess; + return set_so_error(KSuccess); } case SO_BINDTODEVICE: if (size < IFNAMSIZ)