From c5304501933e2ed473a0a588a7a9b8b63d70db7d Mon Sep 17 00:00:00 2001 From: rubidium Date: Wed, 4 Jan 2012 22:11:26 +0000 Subject: (svn r23752) -Fix [FS#4938]: missing locking causing crash is extreme case when being in the MP lobby --- src/network/network_udp.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/network/network_udp.cpp b/src/network/network_udp.cpp index 58d0f31c5..94a677245 100644 --- a/src/network/network_udp.cpp +++ b/src/network/network_udp.cpp @@ -678,6 +678,8 @@ void NetworkUDPClose() /** Receive the UDP packets. */ void NetworkBackgroundUDPLoop() { + _network_udp_mutex->BeginCritical(); + if (_network_udp_server) { _udp_server_socket->ReceivePackets(); _udp_master_socket->ReceivePackets(); @@ -685,6 +687,8 @@ void NetworkBackgroundUDPLoop() _udp_client_socket->ReceivePackets(); if (_network_udp_broadcast > 0) _network_udp_broadcast--; } + + _network_udp_mutex->EndCritical(); } #endif /* ENABLE_NETWORK */ -- cgit v1.2.3-54-g00ecf