From 3426d0d0a3fd22c1064fdaf08d573244e080c339 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Villeveygoux?= Date: Fri, 29 May 2020 18:40:45 +0200 Subject: [PATCH] Cleanly handle SIGTERM and SIGHUP --- src/nnn.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/nnn.c b/src/nnn.c index de80d46c..ce65eba8 100644 --- 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