summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--shell/hush.c18
1 files changed, 6 insertions, 12 deletions
diff --git a/shell/hush.c b/shell/hush.c
index 64c1d3dd6..c8bcf9b59 100644
--- a/shell/hush.c
+++ b/shell/hush.c
@@ -994,22 +994,12 @@ static void set_fatal_signals_to_sigexit(void)
/*maybe_set_sighandler(SIGTERM);*/
/*maybe_set_sighandler(SIGINT );*/
}
-/* Used only to suppress ^Z in `cmd` */
-static void set_jobctrl_signals_to_IGN(void)
-{
- bb_signals(0
- + (1 << SIGTSTP)
- + (1 << SIGTTIN)
- + (1 << SIGTTOU)
- , SIG_IGN);
-}
#else /* !JOB */
#define set_fatal_signals_to_sigexit(handler) ((void)0)
-#define set_jobctrl_signals_to_IGN(handler) ((void)0)
-#endif /* JOB */
+#endif
/* Restores tty foreground process group, and exits. */
static void hush_exit(int exitcode) NORETURN;
@@ -3754,7 +3744,11 @@ static FILE *generate_stream_from_list(struct pipe *head)
* 'command execution'.
* SUSv3 says ctrl-Z should be ignored, ctrl-C should not.
*/
- set_jobctrl_signals_to_IGN();
+ bb_signals(0
+ + (1 << SIGTSTP)
+ + (1 << SIGTTIN)
+ + (1 << SIGTTOU)
+ , SIG_IGN);
/* Note: freeing 'head' here would break NOMMU. */
_exit(run_list(head));