Project::OSiRiON - Git repositories
Project::OSiRiON
News . About . Screenshots . Downloads . Forum . Wiki . Tracker . Git
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/netserver.cc')
-rw-r--r--src/core/netserver.cc13
1 files changed, 3 insertions, 10 deletions
diff --git a/src/core/netserver.cc b/src/core/netserver.cc
index 50702ac..ca08def 100644
--- a/src/core/netserver.cc
+++ b/src/core/netserver.cc
@@ -178,7 +178,7 @@ void NetServer::receive()
timeval timeout;
timeout.tv_sec = 0;
- timeout.tv_usec = 500;
+ timeout.tv_usec = 5000;
fd_set readset = serverset;
int nb = select(fd()+1, &readset, NULL, NULL, &timeout);
@@ -189,7 +189,8 @@ void NetServer::receive()
return;
}
- while (nb && FD_ISSET(fd(), &readset)) {
+ if (nb && FD_ISSET(fd(), &readset)) {
+
// receive incoming data
struct sockaddr_in client_addr;
socklen_t client_addr_len = sizeof(client_addr);
@@ -246,14 +247,6 @@ void NetServer::receive()
}
}
- readset = serverset;
- nb = select(fd(), &readset, NULL, NULL, &timeout);
- if (nb == -1) {
- con_error << "Network error on select()" << std::endl;
- //perror("select");
- abort();
- return;
- }
}
// remove dead connections