nnn

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README | LICENSE

commit 239c7e79705ab24d74901b7539114ca10dbdd1ac
parent 0b99247774e28b26e1eac32154a14aa72cb0eae6
Author: Arun Prakash Jana <engineerarun@gmail.com>
Date:   Thu, 17 Jun 2021 00:31:26 +0530

Revert "Remove redundant old state handlers"

This reverts commit 1590103ab7fbb87f05c8b3cc1b3db14d9f9a11c7.

Diffstat:
Msrc/nnn.c | 12++++++++----
1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/src/nnn.c b/src/nnn.c @@ -464,6 +464,10 @@ typedef struct { static thread_data *core_data; +/* Retain old signal handlers */ +static struct sigaction oldsighup; +static struct sigaction oldsigtstp; + /* For use in functions which are isolated and don't return the buffer */ static char g_buf[CMD_LEN_MAX] __attribute__ ((aligned)); @@ -1993,8 +1997,8 @@ static pid_t xfork(uchar_t flag) if (p > 0) { /* the parent ignores the interrupt, quit and hangup signals */ - sigaction(SIGHUP, &(struct sigaction){.sa_handler = SIG_IGN}, NULL); - sigaction(SIGTSTP, &(struct sigaction){.sa_handler = SIG_DFL}, NULL); + sigaction(SIGHUP, &(struct sigaction){.sa_handler = SIG_IGN}, &oldsighup); + sigaction(SIGTSTP, &(struct sigaction){.sa_handler = SIG_DFL}, &oldsigtstp); } else if (p == 0) { /* We create a grandchild to detach */ if (flag & F_NOWAIT) { @@ -2041,8 +2045,8 @@ static int join(pid_t p, uchar_t flag) } /* restore parent's signal handling */ - sigaction(SIGHUP, &(struct sigaction){.sa_handler = clean_exit_sighandler}, NULL); - sigaction(SIGTSTP, &(struct sigaction){.sa_handler = clean_exit_sighandler}, NULL); + sigaction(SIGHUP, &oldsighup, NULL); + sigaction(SIGTSTP, &oldsigtstp, NULL); return status; }