diff --git a/src/core/hle/service/sockets/bsd.cpp b/src/core/hle/service/sockets/bsd.cpp index 15e8f7d85..f443124ec 100644 --- a/src/core/hle/service/sockets/bsd.cpp +++ b/src/core/hle/service/sockets/bsd.cpp @@ -546,6 +546,11 @@ std::pair BSD::PollImpl(std::vector& write_buffer, std::span fds(nfds); std::memcpy(fds.data(), read_buffer.data(), nfds * sizeof(PollFD)); + // Initialize revents to zero to ensure clean state + for (PollFD& pollfd : fds) { + pollfd.revents = PollEvents{}; + } + if (timeout >= 0) { const s64 seconds = timeout / 1000; const u64 nanoseconds = 1'000'000 * (static_cast(timeout) % 1000);