diff options
| author | Fabio Alessandrelli | 2017-01-18 10:48:50 +0100 |
|---|---|---|
| committer | Fabio Alessandrelli | 2017-03-22 20:01:13 +0100 |
| commit | aeffe74a27fbe83f9f3da2672e2b62efe1255bf0 (patch) | |
| tree | 8e949372e000d07026b5aeac2f12503f53cde29e | |
| parent | ccf37c4ca2aabb212ef82bee7162401280f59e4d (diff) | |
| download | godot-aeffe74a27fbe83f9f3da2672e2b62efe1255bf0.tar.gz godot-aeffe74a27fbe83f9f3da2672e2b62efe1255bf0.tar.zst godot-aeffe74a27fbe83f9f3da2672e2b62efe1255bf0.zip | |
Avoid calling close when polling a UDP peer without socket
(cherry picked from commit e4b9b37ccf8495be674bc15cf0bf9d76fe94e6be)
| -rw-r--r-- | drivers/unix/packet_peer_udp_posix.cpp | 4 | ||||
| -rw-r--r-- | platform/windows/packet_peer_udp_winsock.cpp | 4 |
2 files changed, 8 insertions, 0 deletions
diff --git a/drivers/unix/packet_peer_udp_posix.cpp b/drivers/unix/packet_peer_udp_posix.cpp index 04be55d6c..faabe902f 100644 --- a/drivers/unix/packet_peer_udp_posix.cpp +++ b/drivers/unix/packet_peer_udp_posix.cpp @@ -154,6 +154,10 @@ Error PacketPeerUDPPosix::wait() { Error PacketPeerUDPPosix::_poll(bool p_wait) { + if (sockfd == -1) { + return FAILED; + } + struct sockaddr_storage from = { 0 }; socklen_t len = sizeof(struct sockaddr_storage); int ret; diff --git a/platform/windows/packet_peer_udp_winsock.cpp b/platform/windows/packet_peer_udp_winsock.cpp index d8707709f..1dc23fcab 100644 --- a/platform/windows/packet_peer_udp_winsock.cpp +++ b/platform/windows/packet_peer_udp_winsock.cpp @@ -149,6 +149,10 @@ Error PacketPeerUDPWinsock::wait() { } Error PacketPeerUDPWinsock::_poll(bool p_wait) { + if (sockfd == -1) { + return FAILED; + } + _set_blocking(p_wait); struct sockaddr_storage from = { 0 }; |
