mirror of
https://github.com/UberGames/lilium-voyager.git
synced 2025-03-04 15:21:00 +00:00
Tweak the select() stuff a bit still.
This commit is contained in:
parent
5e88acf217
commit
ee12260b59
1 changed files with 7 additions and 7 deletions
|
@ -651,7 +651,7 @@ void NET_Sleep(int msec)
|
||||||
struct timeval timeout;
|
struct timeval timeout;
|
||||||
fd_set fdset;
|
fd_set fdset;
|
||||||
extern qboolean stdin_active;
|
extern qboolean stdin_active;
|
||||||
qboolean not_empty = qfalse;
|
int highestfd = 0;
|
||||||
|
|
||||||
if (!com_dedicated->integer)
|
if (!com_dedicated->integer)
|
||||||
return; // we're not a server, just run full speed
|
return; // we're not a server, just run full speed
|
||||||
|
@ -660,27 +660,27 @@ void NET_Sleep(int msec)
|
||||||
if (stdin_active)
|
if (stdin_active)
|
||||||
{
|
{
|
||||||
FD_SET(0, &fdset); // stdin is processed too
|
FD_SET(0, &fdset); // stdin is processed too
|
||||||
not_empty = qtrue;
|
highestfd = 1;
|
||||||
}
|
}
|
||||||
if(ip_socket && com_sv_running->integer)
|
if(ip_socket && com_sv_running->integer)
|
||||||
{
|
{
|
||||||
FD_SET(ip_socket, &fdset); // network socket
|
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(highestfd)
|
||||||
if(not_empty)
|
|
||||||
{
|
{
|
||||||
if(msec >= 0)
|
if(msec >= 0)
|
||||||
{
|
{
|
||||||
timeout.tv_sec = msec/1000;
|
timeout.tv_sec = msec/1000;
|
||||||
timeout.tv_usec = (msec%1000)*1000;
|
timeout.tv_usec = (msec%1000)*1000;
|
||||||
select(ip_socket+1, &fdset, NULL, NULL, &timeout);
|
select(highestfd, &fdset, NULL, NULL, &timeout);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
// Block indefinitely
|
// Block indefinitely
|
||||||
select(ip_socket+1, &fdset, NULL, NULL, NULL);
|
select(highestfd, &fdset, NULL, NULL, NULL);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue