Remove superfluous select() call

This commit is contained in:
Cameron Gutman
2020-08-11 00:59:13 -07:00
parent ef5bb72d5c
commit b6508d9024
+4 -14
View File
@@ -19,8 +19,6 @@ WINAPI
UdpRelayThreadProc(LPVOID Context) UdpRelayThreadProc(LPVOID Context)
{ {
PUDP_TUPLE tuple = (PUDP_TUPLE)Context; PUDP_TUPLE tuple = (PUDP_TUPLE)Context;
fd_set fds;
int err;
SOCKADDR_IN lastRemoteAddr; SOCKADDR_IN lastRemoteAddr;
RtlZeroMemory(&lastRemoteAddr, sizeof(lastRemoteAddr)); RtlZeroMemory(&lastRemoteAddr, sizeof(lastRemoteAddr));
@@ -29,19 +27,11 @@ UdpRelayThreadProc(LPVOID Context)
char buffer[4096]; char buffer[4096];
SOCKADDR_IN sourceAddr; SOCKADDR_IN sourceAddr;
int sourceAddrLen; int sourceAddrLen;
int recvLen;
FD_ZERO(&fds);
FD_SET(tuple->socket, &fds);
err = select(0, &fds, NULL, NULL, NULL);
if (err <= 0) {
break;
}
sourceAddrLen = sizeof(sourceAddr); sourceAddrLen = sizeof(sourceAddr);
err = recvfrom(tuple->socket, buffer, sizeof(buffer), 0, (PSOCKADDR)&sourceAddr, &sourceAddrLen); recvLen = recvfrom(tuple->socket, buffer, sizeof(buffer), 0, (PSOCKADDR)&sourceAddr, &sourceAddrLen);
if (err == SOCKET_ERROR) { if (recvLen == SOCKET_ERROR) {
continue; continue;
} }
@@ -60,7 +50,7 @@ UdpRelayThreadProc(LPVOID Context)
destinationAddr.sin_port = htons(tuple->port); 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); closesocket(tuple->socket);