From ee12260b59e844d5ff7fb11fda299e5e8732d2d5 Mon Sep 17 00:00:00 2001 From: Thilo Schulz Date: Fri, 18 Aug 2006 02:10:02 +0000 Subject: [PATCH] Tweak the select() stuff a bit still. --- code/unix/unix_net.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/code/unix/unix_net.c b/code/unix/unix_net.c index 12908eba..d2146997 100644 --- a/code/unix/unix_net.c +++ b/code/unix/unix_net.c @@ -651,7 +651,7 @@ void NET_Sleep(int msec) struct timeval timeout; fd_set fdset; extern qboolean stdin_active; - qboolean not_empty = qfalse; + int highestfd = 0; if (!com_dedicated->integer) return; // we're not a server, just run full speed @@ -660,27 +660,27 @@ void NET_Sleep(int msec) if (stdin_active) { FD_SET(0, &fdset); // stdin is processed too - not_empty = qtrue; + highestfd = 1; } if(ip_socket && com_sv_running->integer) { FD_SET(ip_socket, &fdset); // network socket - not_empty = qtrue; + if(ip_socket >= highestfd) + highestfd = ip_socket + 1; } - // There's no reason to call select() with an empty set. - if(not_empty) + if(highestfd) { if(msec >= 0) { timeout.tv_sec = msec/1000; timeout.tv_usec = (msec%1000)*1000; - select(ip_socket+1, &fdset, NULL, NULL, &timeout); + select(highestfd, &fdset, NULL, NULL, &timeout); } else { // Block indefinitely - select(ip_socket+1, &fdset, NULL, NULL, NULL); + select(highestfd, &fdset, NULL, NULL, NULL); } } }