From 053ff1bc23891ccdd3e49d00c9c743eb6417f207 Mon Sep 17 00:00:00 2001 From: Josiah VanderZee Date: Mon, 19 May 2025 14:32:59 -0500 Subject: [PATCH] Make changes requested by sfan5 * Use `auto` for temporary locals instead of `std::sig_atomic_t` * Use stderr instead of stdout for logging messages. * Remove old commented out code. * Do not write null byte when logging. --- src/client/clientlauncher.cpp | 11 +++++------ src/main.cpp | 10 ++++------ src/porting.cpp | 12 +++--------- 3 files changed, 12 insertions(+), 21 deletions(-) diff --git a/src/client/clientlauncher.cpp b/src/client/clientlauncher.cpp index d493f033c..5d871e153 100644 --- a/src/client/clientlauncher.cpp +++ b/src/client/clientlauncher.cpp @@ -22,7 +22,6 @@ #include "util/tracy_wrapper.h" #include #include -#include #include #if USE_SOUND @@ -148,8 +147,8 @@ bool ClientLauncher::run(GameStartData &start_data, const Settings &cmd_args) /* Menu-game loop */ - bool retval = true; - volatile std::sig_atomic_t *kill = porting::signal_handler_killstatus(); + bool retval = true; + volatile auto *kill = porting::signal_handler_killstatus(); while (m_rendering_engine->run() && !*kill && !g_gamecallback->shutdown_requested) { @@ -530,9 +529,9 @@ bool ClientLauncher::launch_game(std::string &error_message, void ClientLauncher::main_menu(MainMenuData *menudata) { - 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(); + volatile auto *kill = porting::signal_handler_killstatus(); + video::IVideoDriver *driver = m_rendering_engine->get_video_driver(); + auto *device = m_rendering_engine->get_raw_device(); // Wait until app is in foreground because of #15883 infostream << "Waiting for app to be in foreground" << std::endl; diff --git a/src/main.cpp b/src/main.cpp index c054dd780..51069cf19 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -46,8 +46,6 @@ extern "C" { #endif } -#include - #if !defined(__cpp_rtti) || !defined(__cpp_exceptions) #error Luanti cannot be built without exceptions or RTTI #endif @@ -1140,7 +1138,7 @@ static bool run_dedicated_server(const GameParams &game_params, const Settings & return false; } ChatInterface iface; - volatile std::sig_atomic_t &kill = *porting::signal_handler_killstatus(); + volatile auto &kill = *porting::signal_handler_killstatus(); try { // Create server @@ -1183,7 +1181,7 @@ static bool run_dedicated_server(const GameParams &game_params, const Settings & server.start(); // Run server - volatile std::sig_atomic_t &kill = *porting::signal_handler_killstatus(); + volatile auto &kill = *porting::signal_handler_killstatus(); dedicated_server_loop(server, kill); } catch (const ModError &e) { @@ -1228,7 +1226,7 @@ static bool migrate_map_database(const GameParams &game_params, const Settings & u32 count = 0; u64 last_update_time = 0; - volatile std::sig_atomic_t &kill = *porting::signal_handler_killstatus(); + volatile auto &kill = *porting::signal_handler_killstatus(); std::vector blocks; old_db->listAllLoadableBlocks(blocks); @@ -1282,7 +1280,7 @@ static bool recompress_map_database(const GameParams &game_params, const Setting u32 count = 0; u64 last_update_time = 0; - volatile std::sig_atomic_t &kill = *porting::signal_handler_killstatus(); + volatile auto &kill = *porting::signal_handler_killstatus(); const u8 serialize_as_ver = SER_FMT_VER_HIGHEST_WRITE; const s16 map_compression_level = rangelim(g_settings->getS16("map_compression_level_disk"), -1, 9); diff --git a/src/porting.cpp b/src/porting.cpp index ddf90ce79..711b65db6 100644 --- a/src/porting.cpp +++ b/src/porting.cpp @@ -90,7 +90,7 @@ volatile std::sig_atomic_t *signal_handler_killstatus() } #if !defined(_WIN32) // POSIX -#define STDOUT 1 +#define STDERR_FILENO 2 static void signal_handler(int sig) { @@ -98,18 +98,12 @@ static void signal_handler(int sig) if (sig == SIGINT) { const char *dbg_text{"INFO: signal_handler(): " "Ctrl-C pressed, shutting down.\n"}; - write(STDOUT, dbg_text, strlen(dbg_text) + 1); + write(STDERR_FILENO, dbg_text, strlen(dbg_text)); } else if (sig == SIGTERM) { const char *dbg_text{"INFO: signal_handler(): " "got SIGTERM, shutting down.\n"}; - write(STDOUT, dbg_text, strlen(dbg_text) + 1); + write(STDERR_FILENO, dbg_text, strlen(dbg_text)); } - - // Comment out for less clutter when testing scripts - /*dstream << "INFO: sigint_handler(): " - << "Printing debug stacks" << std::endl; - debug_stacks_print();*/ - g_killed = true; } else { (void)signal(sig, SIG_DFL);