Browse Source

Merge pull request #8656 from Faless/fix_udp_wait

Fix UDP::wait() deadlock
Rémi Verschelde 8 years ago
parent
commit
a853b0a2f7

+ 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) {