LibCore: Make TCPServer::set_blocking() unsupported on Windows

Winsock2 doesn't seem to support blocking sockets, or at least
not in the naiive way.
This commit is contained in:
ayeteadoe 2025-07-14 15:21:40 -07:00 committed by Andrew Kaster
commit 79594279da
Notes: github-actions[bot] 2025-08-07 02:26:05 +00:00

View file

@ -68,9 +68,12 @@ ErrorOr<void> TCPServer::listen(IPv4Address const& address, u16 port, AllowAddre
return {}; return {};
} }
ErrorOr<void> TCPServer::set_blocking(bool blocking) ErrorOr<void> TCPServer::set_blocking(bool const blocking)
{ {
TRY(Core::System::ioctl(m_fd, FIONBIO, blocking ? 0 : 1)); // NOTE: Blocking does not seem to be supported. Error code returned is WSAEINVAL
if (!blocking)
return Error::from_string_literal("Core::TCPServer: WinSock2 does not support blocking");
TRY(Core::System::ioctl(m_fd, FIONBIO, 1));
return {}; return {};
} }