From b6508d902477c2afc7791ae2f2755148f764f79c Mon Sep 17 00:00:00 2001 From: Cameron Gutman Date: Tue, 11 Aug 2020 00:59:13 -0700 Subject: [PATCH] Remove superfluous select() call --- miss/relay.cpp | 18 ++++-------------- 1 file changed, 4 insertions(+), 14 deletions(-) diff --git a/miss/relay.cpp b/miss/relay.cpp index 7b79fa0..1f2599a 100644 --- a/miss/relay.cpp +++ b/miss/relay.cpp @@ -19,8 +19,6 @@ WINAPI UdpRelayThreadProc(LPVOID Context) { PUDP_TUPLE tuple = (PUDP_TUPLE)Context; - fd_set fds; - int err; SOCKADDR_IN lastRemoteAddr; RtlZeroMemory(&lastRemoteAddr, sizeof(lastRemoteAddr)); @@ -29,19 +27,11 @@ UdpRelayThreadProc(LPVOID Context) char buffer[4096]; SOCKADDR_IN sourceAddr; int sourceAddrLen; - - FD_ZERO(&fds); - - FD_SET(tuple->socket, &fds); - - err = select(0, &fds, NULL, NULL, NULL); - if (err <= 0) { - break; - } + int recvLen; sourceAddrLen = sizeof(sourceAddr); - err = recvfrom(tuple->socket, buffer, sizeof(buffer), 0, (PSOCKADDR)&sourceAddr, &sourceAddrLen); - if (err == SOCKET_ERROR) { + recvLen = recvfrom(tuple->socket, buffer, sizeof(buffer), 0, (PSOCKADDR)&sourceAddr, &sourceAddrLen); + if (recvLen == SOCKET_ERROR) { continue; } @@ -60,7 +50,7 @@ UdpRelayThreadProc(LPVOID Context) destinationAddr.sin_port = htons(tuple->port); } - sendto(tuple->socket, buffer, err, 0, (PSOCKADDR)&destinationAddr, sizeof(destinationAddr)); + sendto(tuple->socket, buffer, recvLen, 0, (PSOCKADDR)&destinationAddr, sizeof(destinationAddr)); } closesocket(tuple->socket);