g_states |= STATE_INTERRUPTED;
}
+static void clean_exit_sighandler(int UNUSED(sig))
+{
+ exitcurses();
+ /* This triggers cleanup() thanks to atexit() */
+ exit(EXIT_SUCCESS);
+}
+
static char *xitoa(uint val)
{
static char ascbuf[32] = {0};
xerror();
return EXIT_FAILURE;
}
+ signal(SIGTERM, clean_exit_sighandler);
+ signal(SIGHUP, clean_exit_sighandler);
signal(SIGQUIT, SIG_IGN);
#ifndef NOLOCALE