Browse Source

Fix UDP wait() not returning after first received packet

Fabio Alessandrelli 8 years ago
parent
commit
5c6715a291

+ 2 - 0
drivers/unix/packet_peer_udp_posix.cpp

@@ -216,6 +216,8 @@ Error PacketPeerUDPPosix::_poll(bool p_wait) {
 
 
 		len = sizeof(struct sockaddr_storage);
 		len = sizeof(struct sockaddr_storage);
 		++queue_count;
 		++queue_count;
+		if (p_wait)
+			break;
 	};
 	};
 
 
 	// TODO: Should ECONNRESET be handled here?
 	// 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);
 		len = sizeof(struct sockaddr_storage);
 		++queue_count;
 		++queue_count;
+		if (p_wait)
+			break;
 	};
 	};
 
 
 	if (ret == SOCKET_ERROR) {
 	if (ret == SOCKET_ERROR) {