summaryrefslogtreecommitdiff
path: root/src/network
diff options
context:
space:
mode:
authorrubidium <rubidium@openttd.org>2007-07-29 22:21:26 +0000
committerrubidium <rubidium@openttd.org>2007-07-29 22:21:26 +0000
commit809238e634bf1f23381fc7db127506bc0a7196f8 (patch)
treefbe2f86685066e9f523229572317d49a70cbaac6 /src/network
parentd17ae2f363a1cc399868d790821114ac458b87a4 (diff)
downloadopenttd-809238e634bf1f23381fc7db127506bc0a7196f8.tar.xz
(svn r10729) -Fix: some hardware (PS(P|3)) seems to loose the non-blocking state of UDP sockets.
Diffstat (limited to 'src/network')
-rw-r--r--src/network/core/udp.cpp1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/network/core/udp.cpp b/src/network/core/udp.cpp
index d58184489..a2959eb9a 100644
--- a/src/network/core/udp.cpp
+++ b/src/network/core/udp.cpp
@@ -110,6 +110,7 @@ void NetworkUDPSocketHandler::ReceivePackets()
client_len = sizeof(client_addr);
/* Try to receive anything */
+ SetNonBlocking(this->sock); // Some OSes seem to loose the non-blocking status of the socket
nbytes = recvfrom(this->sock, (char*)p.buffer, packet_len, 0, (struct sockaddr *)&client_addr, &client_len);
/* We got some bytes for the base header of the packet. */