summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFabio Alessandrelli <fabio.alessandrelli@gmail.com>2017-05-05 17:41:11 +0200
committerFabio Alessandrelli <fabio.alessandrelli@gmail.com>2017-05-05 17:41:11 +0200
commit5c6715a291e0e843b56f0a168191b3d89657d43f (patch)
treebf02135ee499698df825d84818f6f1c1e3282bc5
parent6034eae95ebd0b9c82b4ae33353938dde6732618 (diff)
downloadredot-engine-5c6715a291e0e843b56f0a168191b3d89657d43f.tar.gz
Fix UDP wait() not returning after first received packet
-rw-r--r--drivers/unix/packet_peer_udp_posix.cpp2
-rw-r--r--platform/windows/packet_peer_udp_winsock.cpp2
2 files changed, 4 insertions, 0 deletions
diff --git a/drivers/unix/packet_peer_udp_posix.cpp b/drivers/unix/packet_peer_udp_posix.cpp
index 5dbccd4b63..74ceb3946a 100644
--- a/drivers/unix/packet_peer_udp_posix.cpp
+++ b/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?
diff --git a/platform/windows/packet_peer_udp_winsock.cpp b/platform/windows/packet_peer_udp_winsock.cpp
index f69c0bd2ed..f3b91c1b56 100644
--- a/platform/windows/packet_peer_udp_winsock.cpp
+++ b/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) {