Treat WSA_IO_PENDING as a receive timeout

This commit is contained in:
Cameron Gutman
2023-02-13 20:20:44 -06:00
parent fb12361b3f
commit be1a48e856

View File

@@ -188,6 +188,12 @@ int recvUdpSocket(SOCKET s, char* buffer, int size, bool useSelect) {
(LastSocketError() == EWOULDBLOCK ||
LastSocketError() == EINTR ||
LastSocketError() == EAGAIN ||
#if defined(LC_WINDOWS)
// This error is specific to overlapped I/O which isn't even
// possible to perform with recvfrom(). It seems to randomly
// be returned instead of WSAETIMEDOUT on certain systems.
LastSocketError() == WSA_IO_PENDING ||
#endif
LastSocketError() == ETIMEDOUT)) {
// Return 0 for timeout
return 0;