changeset 18903:883947621bf9 draft

(svn r23752) -Fix [FS#4938]: missing locking causing crash is extreme case when being in the MP lobby
author rubidium <rubidium@openttd.org>
date Wed, 04 Jan 2012 22:11:26 +0000
parents 74d56f453ead
children e05d4c8e3631
files src/network/network_udp.cpp
diffstat 1 files changed, 4 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/src/network/network_udp.cpp
+++ b/src/network/network_udp.cpp
@@ -678,6 +678,8 @@
 /** 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 @@
 		_udp_client_socket->ReceivePackets();
 		if (_network_udp_broadcast > 0) _network_udp_broadcast--;
 	}
+
+	_network_udp_mutex->EndCritical();
 }
 
 #endif /* ENABLE_NETWORK */