summaryrefslogtreecommitdiff
path: root/dev-games/simgear/files/simgear-2024.1.7-fix_race_emesary.patch
blob: e83b9e9ab425ebd2e4aa23e40a7f5d211d08ea1a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
From upstream https://gitlab.com/flightgear/simgear/-/merge_requests/313.patch
Backport the functional changes only
Fix data race in Emesary Transmitter::NotifyAll (segfault)
see https://bugs.gentoo.org/886321
--- a/simgear/emesary/Transmitter.hxx
+++ b/simgear/emesary/Transmitter.hxx
@@ -176,6 +176,9 @@ namespace simgear
 				auto v = receiveDepth.fetch_add(1, std::memory_order_relaxed);
 				if (v == 0)
 					AddRemoveIFAppropriate();
+				else {
+					std::lock_guard<std::mutex> scopeLock(_lock);
+				}
 
 				sentMessageCount++;