- Have NET_Sleep work with Windows' INVALID_SOCKET again...

- Use SOCKET_ERROR in NET_Sleep.
This commit is contained in:
Zack Middleton 2012-06-19 22:36:54 +00:00
parent 725c9df608
commit 3b09685b42

View file

@ -1673,13 +1673,10 @@ void NET_Sleep(int msec)
{ {
FD_SET(ip6_socket, &fdr); FD_SET(ip6_socket, &fdr);
if(ip6_socket > highestfd) if(highestfd == INVALID_SOCKET || ip6_socket > highestfd)
highestfd = ip6_socket; highestfd = ip6_socket;
} }
timeout.tv_sec = msec/1000;
timeout.tv_usec = (msec%1000)*1000;
#ifdef _WIN32 #ifdef _WIN32
if(highestfd == INVALID_SOCKET) if(highestfd == INVALID_SOCKET)
{ {
@ -1689,9 +1686,12 @@ void NET_Sleep(int msec)
} }
#endif #endif
timeout.tv_sec = msec/1000;
timeout.tv_usec = (msec%1000)*1000;
retval = select(highestfd + 1, &fdr, NULL, NULL, &timeout); retval = select(highestfd + 1, &fdr, NULL, NULL, &timeout);
if(retval < 0) if(retval == SOCKET_ERROR)
Com_Printf("Warning: select() syscall failed: %s\n", NET_ErrorString()); Com_Printf("Warning: select() syscall failed: %s\n", NET_ErrorString());
else if(retval > 0) else if(retval > 0)
NET_Event(&fdr); NET_Event(&fdr);