浏览代码

Merge pull request #8656 from Faless/fix_udp_wait

Fix UDP::wait() deadlock
Rémi Verschelde 8 年之前
父节点
当前提交
a853b0a2f7
共有 2 个文件被更改,包括 4 次插入0 次删除
  1. 2 0
      drivers/unix/packet_peer_udp_posix.cpp
  2. 2 0
      platform/windows/packet_peer_udp_winsock.cpp

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