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:
parent
d053d49642
commit
5791f5ff8b
5 changed files with 28 additions and 20 deletions
|
@ -22,6 +22,7 @@
|
||||||
#include "util/tracy_wrapper.h"
|
#include "util/tracy_wrapper.h"
|
||||||
#include <IGUISpriteBank.h>
|
#include <IGUISpriteBank.h>
|
||||||
#include <ICameraSceneNode.h>
|
#include <ICameraSceneNode.h>
|
||||||
|
#include <csignal>
|
||||||
#include <unordered_map>
|
#include <unordered_map>
|
||||||
|
|
||||||
#if USE_SOUND
|
#if USE_SOUND
|
||||||
|
@ -147,8 +148,8 @@ bool ClientLauncher::run(GameStartData &start_data, const Settings &cmd_args)
|
||||||
/*
|
/*
|
||||||
Menu-game loop
|
Menu-game loop
|
||||||
*/
|
*/
|
||||||
bool retval = true;
|
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 &&
|
while (m_rendering_engine->run() && !*kill &&
|
||||||
!g_gamecallback->shutdown_requested) {
|
!g_gamecallback->shutdown_requested) {
|
||||||
|
@ -529,9 +530,9 @@ bool ClientLauncher::launch_game(std::string &error_message,
|
||||||
|
|
||||||
void ClientLauncher::main_menu(MainMenuData *menudata)
|
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();
|
video::IVideoDriver *driver = m_rendering_engine->get_video_driver();
|
||||||
auto *device = m_rendering_engine->get_raw_device();
|
auto *device = m_rendering_engine->get_raw_device();
|
||||||
|
|
||||||
// Wait until app is in foreground because of #15883
|
// Wait until app is in foreground because of #15883
|
||||||
infostream << "Waiting for app to be in foreground" << std::endl;
|
infostream << "Waiting for app to be in foreground" << std::endl;
|
||||||
|
|
|
@ -65,6 +65,8 @@
|
||||||
#include "client/sound/sound_openal.h"
|
#include "client/sound/sound_openal.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#include <csignal>
|
||||||
|
|
||||||
class NodeDugEvent : public MtEvent
|
class NodeDugEvent : public MtEvent
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
@ -561,7 +563,7 @@ public:
|
||||||
Game();
|
Game();
|
||||||
~Game();
|
~Game();
|
||||||
|
|
||||||
bool startup(bool *kill,
|
bool startup(volatile std::sig_atomic_t *kill,
|
||||||
InputHandler *input,
|
InputHandler *input,
|
||||||
RenderingEngine *rendering_engine,
|
RenderingEngine *rendering_engine,
|
||||||
const GameStartData &game_params,
|
const GameStartData &game_params,
|
||||||
|
@ -793,14 +795,14 @@ private:
|
||||||
This class does take ownership/responsibily for cleaning up etc of any of
|
This class does take ownership/responsibily for cleaning up etc of any of
|
||||||
these items (e.g. device)
|
these items (e.g. device)
|
||||||
*/
|
*/
|
||||||
IrrlichtDevice *device;
|
IrrlichtDevice *device;
|
||||||
RenderingEngine *m_rendering_engine;
|
RenderingEngine *m_rendering_engine;
|
||||||
video::IVideoDriver *driver;
|
video::IVideoDriver *driver;
|
||||||
scene::ISceneManager *smgr;
|
scene::ISceneManager *smgr;
|
||||||
bool *kill;
|
volatile std::sig_atomic_t *kill;
|
||||||
std::string *error_message;
|
std::string *error_message;
|
||||||
bool *reconnect_requested;
|
bool *reconnect_requested;
|
||||||
PausedNodesList paused_animated_nodes;
|
PausedNodesList paused_animated_nodes;
|
||||||
|
|
||||||
bool simple_singleplayer_mode;
|
bool simple_singleplayer_mode;
|
||||||
/* End 'cache' */
|
/* End 'cache' */
|
||||||
|
@ -932,7 +934,7 @@ Game::~Game()
|
||||||
m_rendering_engine->finalize();
|
m_rendering_engine->finalize();
|
||||||
}
|
}
|
||||||
|
|
||||||
bool Game::startup(bool *kill,
|
bool Game::startup(volatile std::sig_atomic_t *kill,
|
||||||
InputHandler *input,
|
InputHandler *input,
|
||||||
RenderingEngine *rendering_engine,
|
RenderingEngine *rendering_engine,
|
||||||
const GameStartData &start_data,
|
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,
|
InputHandler *input,
|
||||||
RenderingEngine *rendering_engine,
|
RenderingEngine *rendering_engine,
|
||||||
const GameStartData &start_data,
|
const GameStartData &start_data,
|
||||||
|
|
|
@ -6,6 +6,7 @@
|
||||||
|
|
||||||
#include "irrlichttypes.h"
|
#include "irrlichttypes.h"
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
|
#include <csignal>
|
||||||
#include <string>
|
#include <string>
|
||||||
|
|
||||||
#if !IS_CLIENT_BUILD
|
#if !IS_CLIENT_BUILD
|
||||||
|
@ -36,7 +37,7 @@ struct CameraOrientation {
|
||||||
#define GAME_FALLBACK_TIMEOUT 1.8f
|
#define GAME_FALLBACK_TIMEOUT 1.8f
|
||||||
#define GAME_CONNECTION_TIMEOUT 10.0f
|
#define GAME_CONNECTION_TIMEOUT 10.0f
|
||||||
|
|
||||||
void the_game(bool *kill,
|
void the_game(volatile std::sig_atomic_t *kill,
|
||||||
InputHandler *input,
|
InputHandler *input,
|
||||||
RenderingEngine *rendering_engine,
|
RenderingEngine *rendering_engine,
|
||||||
const GameStartData &start_data,
|
const GameStartData &start_data,
|
||||||
|
|
|
@ -33,6 +33,8 @@
|
||||||
#include "client/sound/sound_openal.h"
|
#include "client/sound/sound_openal.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#include <csignal>
|
||||||
|
|
||||||
|
|
||||||
/******************************************************************************/
|
/******************************************************************************/
|
||||||
void TextDestGuiEngine::gotText(const StringMap &fields)
|
void TextDestGuiEngine::gotText(const StringMap &fields)
|
||||||
|
@ -109,7 +111,7 @@ GUIEngine::GUIEngine(JoystickController *joystick,
|
||||||
RenderingEngine *rendering_engine,
|
RenderingEngine *rendering_engine,
|
||||||
IMenuManager *menumgr,
|
IMenuManager *menumgr,
|
||||||
MainMenuData *data,
|
MainMenuData *data,
|
||||||
bool &kill) :
|
volatile std::sig_atomic_t &kill) :
|
||||||
m_rendering_engine(rendering_engine),
|
m_rendering_engine(rendering_engine),
|
||||||
m_parent(parent),
|
m_parent(parent),
|
||||||
m_menumanager(menumgr),
|
m_menumanager(menumgr),
|
||||||
|
|
|
@ -14,6 +14,8 @@
|
||||||
#include "util/enriched_string.h"
|
#include "util/enriched_string.h"
|
||||||
#include "translation.h"
|
#include "translation.h"
|
||||||
|
|
||||||
|
#include <csignal>
|
||||||
|
|
||||||
/******************************************************************************/
|
/******************************************************************************/
|
||||||
/* Structs and macros */
|
/* Structs and macros */
|
||||||
/******************************************************************************/
|
/******************************************************************************/
|
||||||
|
@ -130,7 +132,7 @@ public:
|
||||||
RenderingEngine *rendering_engine,
|
RenderingEngine *rendering_engine,
|
||||||
IMenuManager *menumgr,
|
IMenuManager *menumgr,
|
||||||
MainMenuData *data,
|
MainMenuData *data,
|
||||||
bool &kill);
|
volatile std::sig_atomic_t &kill);
|
||||||
|
|
||||||
/** default destructor */
|
/** default destructor */
|
||||||
virtual ~GUIEngine();
|
virtual ~GUIEngine();
|
||||||
|
@ -199,7 +201,7 @@ private:
|
||||||
irr_ptr<GUIFormSpecMenu> m_menu;
|
irr_ptr<GUIFormSpecMenu> m_menu;
|
||||||
|
|
||||||
/** reference to kill variable managed by SIGINT handler */
|
/** 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 */
|
/** variable used to abort menu and return back to main game handling */
|
||||||
bool m_startgame = false;
|
bool m_startgame = false;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue