summaryrefslogtreecommitdiff
path: root/src/qcommon
diff options
context:
space:
mode:
Diffstat (limited to 'src/qcommon')
-rw-r--r--src/qcommon/net_ip.c16
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);