diff options
Diffstat (limited to 'src/fruits/cmv')
| -rw-r--r-- | src/fruits/cmv/cmv.c | 9 |
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 |