1
0
Fork 0
mirror of https://github.com/luanti-org/luanti.git synced 2025-06-27 16:36:03 +00:00

Change killflag type to sig_atomic_t in client

This commit is contained in:
Josiah VanderZee 2025-05-19 09:03:04 -05:00
parent d053d49642
commit 5791f5ff8b
No known key found for this signature in database
GPG key ID: C7BB8573A4ABC4B9
5 changed files with 28 additions and 20 deletions

View file

@ -22,6 +22,7 @@
#include "util/tracy_wrapper.h"
#include <IGUISpriteBank.h>
#include <ICameraSceneNode.h>
#include <csignal>
#include <unordered_map>
#if USE_SOUND
@ -148,7 +149,7 @@ bool ClientLauncher::run(GameStartData &start_data, const Settings &cmd_args)
Menu-game loop
*/
bool retval = true;
bool *kill = porting::signal_handler_killstatus();
volatile std::sig_atomic_t *kill = porting::signal_handler_killstatus();
while (m_rendering_engine->run() && !*kill &&
!g_gamecallback->shutdown_requested) {
@ -529,7 +530,7 @@ bool ClientLauncher::launch_game(std::string &error_message,
void ClientLauncher::main_menu(MainMenuData *menudata)
{
bool *kill = porting::signal_handler_killstatus();
volatile std::sig_atomic_t *kill = porting::signal_handler_killstatus();
video::IVideoDriver *driver = m_rendering_engine->get_video_driver();
auto *device = m_rendering_engine->get_raw_device();

View file

@ -65,6 +65,8 @@
#include "client/sound/sound_openal.h"
#endif
#include <csignal>
class NodeDugEvent : public MtEvent
{
public:
@ -561,7 +563,7 @@ public:
Game();
~Game();
bool startup(bool *kill,
bool startup(volatile std::sig_atomic_t *kill,
InputHandler *input,
RenderingEngine *rendering_engine,
const GameStartData &game_params,
@ -797,7 +799,7 @@ private:
RenderingEngine *m_rendering_engine;
video::IVideoDriver *driver;
scene::ISceneManager *smgr;
bool *kill;
volatile std::sig_atomic_t *kill;
std::string *error_message;
bool *reconnect_requested;
PausedNodesList paused_animated_nodes;
@ -932,7 +934,7 @@ Game::~Game()
m_rendering_engine->finalize();
}
bool Game::startup(bool *kill,
bool Game::startup(volatile std::sig_atomic_t *kill,
InputHandler *input,
RenderingEngine *rendering_engine,
const GameStartData &start_data,
@ -4235,7 +4237,7 @@ void Game::readSettings()
****************************************************************************/
/****************************************************************************/
void the_game(bool *kill,
void the_game(volatile std::sig_atomic_t *kill,
InputHandler *input,
RenderingEngine *rendering_engine,
const GameStartData &start_data,

View file

@ -6,6 +6,7 @@
#include "irrlichttypes.h"
#include "config.h"
#include <csignal>
#include <string>
#if !IS_CLIENT_BUILD
@ -36,7 +37,7 @@ struct CameraOrientation {
#define GAME_FALLBACK_TIMEOUT 1.8f
#define GAME_CONNECTION_TIMEOUT 10.0f
void the_game(bool *kill,
void the_game(volatile std::sig_atomic_t *kill,
InputHandler *input,
RenderingEngine *rendering_engine,
const GameStartData &start_data,

View file

@ -33,6 +33,8 @@
#include "client/sound/sound_openal.h"
#endif
#include <csignal>
/******************************************************************************/
void TextDestGuiEngine::gotText(const StringMap &fields)
@ -109,7 +111,7 @@ GUIEngine::GUIEngine(JoystickController *joystick,
RenderingEngine *rendering_engine,
IMenuManager *menumgr,
MainMenuData *data,
bool &kill) :
volatile std::sig_atomic_t &kill) :
m_rendering_engine(rendering_engine),
m_parent(parent),
m_menumanager(menumgr),

View file

@ -14,6 +14,8 @@
#include "util/enriched_string.h"
#include "translation.h"
#include <csignal>
/******************************************************************************/
/* Structs and macros */
/******************************************************************************/
@ -130,7 +132,7 @@ public:
RenderingEngine *rendering_engine,
IMenuManager *menumgr,
MainMenuData *data,
bool &kill);
volatile std::sig_atomic_t &kill);
/** default destructor */
virtual ~GUIEngine();
@ -199,7 +201,7 @@ private:
irr_ptr<GUIFormSpecMenu> m_menu;
/** reference to kill variable managed by SIGINT handler */
bool &m_kill;
volatile std::sig_atomic_t &m_kill;
/** variable used to abort menu and return back to main game handling */
bool m_startgame = false;