commit 3426d0d0a3fd22c1064fdaf08d573244e080c339
parent 2232772db4f00eb936ee66e57d35dd8bc5344d86
Author: Léo Villeveygoux <l@vgx.fr>
Date: Fri, 29 May 2020 18:40:45 +0200
Cleanly handle SIGTERM and SIGHUP
Diffstat:
1 file changed, 9 insertions(+), 0 deletions(-)
diff --git a/src/nnn.c b/src/nnn.c
@@ -704,6 +704,13 @@ static void sigint_handler(int UNUSED(sig))
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};
@@ -7230,6 +7237,8 @@ int main(int argc, char *argv[])
xerror();
return EXIT_FAILURE;
}
+ signal(SIGTERM, clean_exit_sighandler);
+ signal(SIGHUP, clean_exit_sighandler);
signal(SIGQUIT, SIG_IGN);
#ifndef NOLOCALE