diff --git a/NetworkClient.cpp b/NetworkClient.cpp index 79826896..560884c1 100644 --- a/NetworkClient.cpp +++ b/NetworkClient.cpp @@ -230,11 +230,12 @@ int NetworkClient::recv_select(SOCKET s, char *buf, int len, int flags) { fd_set set; struct timeval timeout; - timeout.tv_sec = 5; - timeout.tv_usec = 0; while(1) { + timeout.tv_sec = 5; + timeout.tv_usec = 0; + FD_ZERO(&set); /* clear the set */ FD_SET(s, &set); /* add our file descriptor to the set */ diff --git a/NetworkServer.cpp b/NetworkServer.cpp index 68a205d6..68f5268f 100644 --- a/NetworkServer.cpp +++ b/NetworkServer.cpp @@ -267,13 +267,14 @@ int NetworkServer::accept_select(int sockfd, struct sockaddr *addr, socklen_t *a { fd_set set; struct timeval timeout; - timeout.tv_sec = 5; - timeout.tv_usec = 0; while(1) { - FD_ZERO(&set); /* clear the set */ - FD_SET(sockfd, &set); /* add our file descriptor to the set */ + timeout.tv_sec = 5; + timeout.tv_usec = 0; + + FD_ZERO(&set); /* clear the set */ + FD_SET(sockfd, &set); /* add our file descriptor to the set */ int rv = select(sockfd + 1, &set, NULL, NULL, &timeout); @@ -298,11 +299,12 @@ int NetworkServer::recv_select(SOCKET s, char *buf, int len, int flags) { fd_set set; struct timeval timeout; - timeout.tv_sec = 5; - timeout.tv_usec = 0; while(1) { + timeout.tv_sec = 5; + timeout.tv_usec = 0; + FD_ZERO(&set); /* clear the set */ FD_SET(s, &set); /* add our file descriptor to the set */