Fix: thread safety issue during exiting the game (#9380)

_exit_game is read by the draw-thread to know when to exit, but
most of the time written by the game-thread.

(cherry picked from commit c12a152ec9)
This commit is contained in:
Patric Stout
2021-06-17 17:58:59 +01:00
committed by Jonathan G Rennison
parent 573ab48e9c
commit 441ff7e436
3 changed files with 6 additions and 3 deletions

View File

@@ -10,6 +10,7 @@
#ifndef OPENTTD_H
#define OPENTTD_H
#include <atomic>
#include "core/enum_type.hpp"
/** Mode which defines the state of the game. */
@@ -57,7 +58,7 @@ enum ExtraDisplayOptions {
extern GameMode _game_mode;
extern SwitchMode _switch_mode;
extern bool _check_special_modes;
extern bool _exit_game;
extern std::atomic<bool> _exit_game;
extern bool _save_config;
/** Modes of pausing we've got */