Avoid data race on map size when clearing link graph jobs in InitializeGame
This commit is contained in:
@@ -69,6 +69,10 @@ void InitializeGame(uint size_x, uint size_y, bool reset_date, bool reset_settin
|
|||||||
* related to the new game we're about to start/load. */
|
* related to the new game we're about to start/load. */
|
||||||
UnInitWindowSystem();
|
UnInitWindowSystem();
|
||||||
|
|
||||||
|
/* Clear link graph schedule and stop any link graph threads before
|
||||||
|
* changing the map size. This avoids data races on the map size variables. */
|
||||||
|
LinkGraphSchedule::Clear();
|
||||||
|
|
||||||
AllocateMap(size_x, size_y);
|
AllocateMap(size_x, size_y);
|
||||||
|
|
||||||
ViewportMapClearTunnelCache();
|
ViewportMapClearTunnelCache();
|
||||||
@@ -102,7 +106,6 @@ void InitializeGame(uint size_x, uint size_y, bool reset_date, bool reset_settin
|
|||||||
}
|
}
|
||||||
UpdateCachedSnowLine();
|
UpdateCachedSnowLine();
|
||||||
|
|
||||||
LinkGraphSchedule::Clear();
|
|
||||||
ClearTraceRestrictMapping();
|
ClearTraceRestrictMapping();
|
||||||
ClearBridgeSimulatedSignalMapping();
|
ClearBridgeSimulatedSignalMapping();
|
||||||
ClearCargoPacketDeferredPayments();
|
ClearCargoPacketDeferredPayments();
|
||||||
|
Reference in New Issue
Block a user