From f6de8014b816767e5fdf56aa7920f5564f26df0c Mon Sep 17 00:00:00 2001 From: Tom Early Date: Sat, 7 Apr 2018 12:03:53 -0700 Subject: [PATCH] added FD_ISSET() to UDPSocket::read() --- UDPSocket.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/UDPSocket.cpp b/UDPSocket.cpp index 7295ee9..d7c45f3 100644 --- a/UDPSocket.cpp +++ b/UDPSocket.cpp @@ -113,7 +113,7 @@ int CUDPSocket::read(unsigned char* buffer, unsigned int length, in_addr& addres FD_ZERO(&readFds); FD_SET(m_fd, &readFds); - // Return immediately + // Return immediately if there is nothing for this socket timeval tv; tv.tv_sec = 0L; tv.tv_usec = 0L; @@ -127,6 +127,9 @@ int CUDPSocket::read(unsigned char* buffer, unsigned int length, in_addr& addres if (ret == 0) return 0; + if (! FD_ISSET(m_fd, &readFds)) + return 0; // nothing for this socket; + sockaddr_in addr; socklen_t size = sizeof(sockaddr_in);