From: Léo Villeveygoux Date: Fri, 29 May 2020 16:40:45 +0000 (+0200) Subject: Cleanly handle SIGTERM and SIGHUP X-Git-Tag: v3.3~99^2~1 X-Git-Url: http://www.git.stargrave.org/?a=commitdiff_plain;h=3426d0d0a3fd22c1064fdaf08d573244e080c339;p=nnn.git Cleanly handle SIGTERM and SIGHUP --- 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