diff --git a/Kernel/Syscalls/socket.cpp b/Kernel/Syscalls/socket.cpp index 13ffd8d9f6..03288bb4d5 100644 --- a/Kernel/Syscalls/socket.cpp +++ b/Kernel/Syscalls/socket.cpp @@ -125,10 +125,7 @@ KResultOr Process::sys$accept(int accepting_socket_fd, Userspace accepted_socket_description_result.value()->set_readable(true); accepted_socket_description_result.value()->set_writable(true); - // NOTE: The accepted socket inherits fd flags from the accepting socket. - // I'm not sure if this matches other systems but it makes sense to me. - accepted_socket_description_result.value()->set_blocking(accepting_socket_description->is_blocking()); - m_fds[accepted_socket_fd].set(accepted_socket_description_result.release_value(), m_fds[accepting_socket_fd].flags()); + m_fds[accepted_socket_fd].set(accepted_socket_description_result.release_value(), 0); // NOTE: Moving this state to Completed is what causes connect() to unblock on the client side. accepted_socket->set_setup_state(Socket::SetupState::Completed);