diff options
author | Fabio Alessandrelli <fabio.alessandrelli@gmail.com> | 2017-05-05 17:41:11 +0200 |
---|---|---|
committer | Fabio Alessandrelli <fabio.alessandrelli@gmail.com> | 2017-05-05 17:41:11 +0200 |
commit | 5c6715a291e0e843b56f0a168191b3d89657d43f (patch) | |
tree | bf02135ee499698df825d84818f6f1c1e3282bc5 | |
parent | 6034eae95ebd0b9c82b4ae33353938dde6732618 (diff) | |
download | redot-engine-5c6715a291e0e843b56f0a168191b3d89657d43f.tar.gz |
Fix UDP wait() not returning after first received packet
-rw-r--r-- | drivers/unix/packet_peer_udp_posix.cpp | 2 | ||||
-rw-r--r-- | platform/windows/packet_peer_udp_winsock.cpp | 2 |
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) { |