diff options
Diffstat (limited to 'src/qcommon/net_ip.c')
-rw-r--r-- | src/qcommon/net_ip.c | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/src/qcommon/net_ip.c b/src/qcommon/net_ip.c index 84396472..18a21681 100644 --- a/src/qcommon/net_ip.c +++ b/src/qcommon/net_ip.c @@ -1629,7 +1629,7 @@ void NET_Event(fd_set *fdr) // com_dropsim->value percent of incoming packets get dropped. if(rand() < (int) (((double) RAND_MAX) / 100.0 * (double) net_dropsim->value)) continue; // drop this packet - } + } if(com_sv_running->integer) Com_RunAndTimeServerPacket(&from, &netmsg); @@ -1669,14 +1669,11 @@ void NET_Sleep(int msec) if(ip6_socket != INVALID_SOCKET) { FD_SET(ip6_socket, &fdr); - - if(ip6_socket > highestfd) + + if(highestfd == INVALID_SOCKET || ip6_socket > highestfd) highestfd = ip6_socket; } - timeout.tv_sec = msec/1000; - timeout.tv_usec = (msec%1000)*1000; - #ifdef _WIN32 if(highestfd == INVALID_SOCKET) { @@ -1686,9 +1683,12 @@ void NET_Sleep(int msec) } #endif + timeout.tv_sec = msec/1000; + timeout.tv_usec = (msec%1000)*1000; + 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()); else if(retval > 0) NET_Event(&fdr); |