diff options
Diffstat (limited to 'shell')
-rw-r--r-- | shell/ash.c | 4 | ||||
-rw-r--r-- | shell/hush.c | 5 |
2 files changed, 2 insertions, 7 deletions
diff --git a/shell/ash.c b/shell/ash.c index 6f675ce69..069909118 100644 --- a/shell/ash.c +++ b/shell/ash.c @@ -273,13 +273,11 @@ static void raise_interrupt(void) { int i; - sigset_t mask; intpending = 0; /* Signal is not automatically unmasked after it is raised, * do it ourself - unmask all signals */ - sigemptyset(&mask); - sigprocmask(SIG_SETMASK, &mask, NULL); + sigprocmask_allsigs(SIG_UNBLOCK); /* pendingsig = 0; - now done in onsig() */ i = EXSIG; diff --git a/shell/hush.c b/shell/hush.c index baa2db780..c61607dd3 100644 --- a/shell/hush.c +++ b/shell/hush.c @@ -788,11 +788,8 @@ static void handler_ctrl_z(int sig) static void sigexit(int sig) ATTRIBUTE_NORETURN; static void sigexit(int sig) { - sigset_t block_all; - /* Disable all signals: job control, SIGPIPE, etc. */ - sigfillset(&block_all); - sigprocmask(SIG_SETMASK, &block_all, NULL); + sigprocmask_allsigs(SIG_BLOCK); if (interactive_fd) tcsetpgrp(interactive_fd, saved_tty_pgrp); |