summaryrefslogtreecommitdiff
path: root/src/fruits/cmv
diff options
context:
space:
mode:
Diffstat (limited to 'src/fruits/cmv')
-rw-r--r--src/fruits/cmv/cmv.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/fruits/cmv/cmv.c b/src/fruits/cmv/cmv.c
index 63e035d..840eb6a 100644
--- a/src/fruits/cmv/cmv.c
+++ b/src/fruits/cmv/cmv.c
@@ -220,10 +220,17 @@ s32 window_system_main(u32 argc, str *argv, void *extra)
return EXIT_SUCCESS;
}
+static bool sigint_force = false;
static void sigint_handler(int signum)
{
(void)signum;
- c.desktop.should_quit = 1;
+ if (sigint_force) {
+ exit(128+SIGINT);
+ } else {
+ c.desktop.should_quit = 1;
+ log_warn("Attempting graceful exit. ^C again to force exit.");
+ sigint_force = true;
+ }
}
#ifdef NAUNET_ON_WINDOWS