diff options
Diffstat (limited to 'src/core/netserver.cc')
-rw-r--r-- | src/core/netserver.cc | 13 |
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 |