2
0
Эх сурвалжийг харах

Fix UDP wait() not returning after first received packet

(cherry picked from commit 5c6715a291e0e843b56f0a168191b3d89657d43f)
Fabio Alessandrelli 8 жил өмнө
parent
commit
e9a7eeaf9c

+ 2 - 0
drivers/unix/packet_peer_udp_posix.cpp

@@ -216,6 +216,8 @@ Error PacketPeerUDPPosix::_poll(bool p_wait) {
 
 		len = sizeof(struct sockaddr_storage);
 		++queue_count;
+		if (p_wait)
+			break;
 	};
 
 	// TODO: Should ECONNRESET be handled here?

+ 2 - 0
platform/windows/packet_peer_udp_winsock.cpp

@@ -203,6 +203,8 @@ Error PacketPeerUDPWinsock::_poll(bool p_wait) {
 
 		len = sizeof(struct sockaddr_storage);
 		++queue_count;
+		if (p_wait)
+			break;
 	};
 
 	if (ret == SOCKET_ERROR) {