From 348942106450571c3e243bbb91c402b786551d18 Mon Sep 17 00:00:00 2001 From: Lynix Date: Fri, 27 Jan 2017 15:08:26 +0100 Subject: [PATCH] Network/UdpSocket: Fix UdpSocket::Receive failing when peers suddenly closes its socket --- src/Nazara/Network/UdpSocket.cpp | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/Nazara/Network/UdpSocket.cpp b/src/Nazara/Network/UdpSocket.cpp index c13dee343..145257afc 100644 --- a/src/Nazara/Network/UdpSocket.cpp +++ b/src/Nazara/Network/UdpSocket.cpp @@ -93,7 +93,18 @@ namespace Nz int read; if (!SocketImpl::ReceiveFrom(m_handle, buffer, static_cast(size), from, &read, &m_lastError)) - return false; + { + switch (m_lastError) + { + case SocketError_ConnectionClosed: + m_lastError = SocketError_NoError; + read = 0; + break; + + default: + return false; + } + } if (received) *received = read;