From 1971d4a288ed6913c3b3138df5e176452ca12bfe Mon Sep 17 00:00:00 2001 From: dec05eba Date: Tue, 23 Dec 2025 22:54:27 +0100 Subject: [PATCH] Die properly when killed with SIGINT --- src/main.cpp | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/main.cpp b/src/main.cpp index 030077c..24939ec 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -23,8 +23,10 @@ extern "C" { } static sig_atomic_t running = 1; +static sig_atomic_t killed = 0; static void sigint_handler(int signal) { (void)signal; + killed = 1; running = 0; } @@ -331,6 +333,8 @@ int main(int argc, char **argv) { } } + const bool connected_to_display_server = mgl_is_connected_to_display_server(); + fprintf(stderr, "Info: shutting down!\n"); rpc.reset(); overlay.reset(); @@ -344,5 +348,11 @@ int main(int argc, char **argv) { return 0; } - return mgl_is_connected_to_display_server() ? 0 : 1; + if(killed) + return 0; + + if(connected_to_display_server) + return 1; + + return 0; }