From 64447609994bfddeef1061948022c074093e9a9f Mon Sep 17 00:00:00 2001 From: Chet Ramey Date: Fri, 1 Jun 2018 10:22:36 -0400 Subject: [PATCH] fix for SIGINT in sourced script --- builtins/trap.def | 4 ++++ patchlevel.h | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/builtins/trap.def b/builtins/trap.def index 57d9b522..d43b0ef6 100644 --- a/builtins/trap.def +++ b/builtins/trap.def @@ -98,6 +98,7 @@ static int display_traps __P((WORD_LIST *)); #define IGNORE 2 /* Ignore this signal. */ extern int posixly_correct, subshell_environment; +extern int sourcelevel, running_trap; int trap_builtin (list) @@ -212,6 +213,9 @@ trap_builtin (list) was SIG_IGN? */ if (interactive) set_signal_handler (SIGINT, sigint_sighandler); + /* special cases for interactive == 0 */ + else if (interactive_shell && (sourcelevel||running_trap)) + set_signal_handler (SIGINT, sigint_sighandler); else set_signal_handler (SIGINT, termsig_sighandler); break; diff --git a/patchlevel.h b/patchlevel.h index 9be226c3..2060b58f 100644 --- a/patchlevel.h +++ b/patchlevel.h @@ -25,6 +25,6 @@ regexp `^#define[ ]*PATCHLEVEL', since that's what support/mkversion.sh looks for to find the patch level (for the sccs version string). */ -#define PATCHLEVEL 22 +#define PATCHLEVEL 23 #endif /* _PATCHLEVEL_H_ */ -- 2.14.4