bash/bash-4.4-patch-23.patch

48 lines
1.4 KiB
Diff
Raw Normal View History

From 64447609994bfddeef1061948022c074093e9a9f Mon Sep 17 00:00:00 2001
From: Chet Ramey <chet.ramey@case.edu>
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