summaryrefslogtreecommitdiff
path: root/data/bash/bash40-015
diff options
context:
space:
mode:
Diffstat (limited to 'data/bash/bash40-015')
-rw-r--r--data/bash/bash40-01584
1 files changed, 84 insertions, 0 deletions
diff --git a/data/bash/bash40-015 b/data/bash/bash40-015
new file mode 100644
index 000000000..c3e8d3346
--- /dev/null
+++ b/data/bash/bash40-015
@@ -0,0 +1,84 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.0
+Patch-ID: bash40-015
+
+Bug-Reported-by: Lubomir Rintel <lkundrak@v3.sk>
+Bug-Reference-ID: <1237654931.32737.13.camel@localhost.localdomain>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2009-03/msg00174.html
+
+Bug-Description:
+
+Deferring handling of signals which should cause the shell to terminate until
+it is "safe" to run the handler functions does not work for some terminating
+signals.
+
+Patch:
+
+*** ../bash-4.0-patched/sig.c 2009-01-04 14:32:41.000000000 -0500
+--- sig.c 2009-03-22 14:47:56.000000000 -0400
+***************
+*** 449,452 ****
+--- 449,494 ----
+ int sig;
+ {
++ /* If we get called twice with the same signal before handling it,
++ terminate right away. */
++ if (
++ #ifdef SIGHUP
++ sig != SIGHUP &&
++ #endif
++ #ifdef SIGINT
++ sig != SIGINT &&
++ #endif
++ #ifdef SIGDANGER
++ sig != SIGDANGER &&
++ #endif
++ #ifdef SIGPIPE
++ sig != SIGPIPE &&
++ #endif
++ #ifdef SIGALRM
++ sig != SIGALRM &&
++ #endif
++ #ifdef SIGTERM
++ sig != SIGTERM &&
++ #endif
++ #ifdef SIGXCPU
++ sig != SIGXCPU &&
++ #endif
++ #ifdef SIGXFSZ
++ sig != SIGXFSZ &&
++ #endif
++ #ifdef SIGVTALRM
++ sig != SIGVTALRM &&
++ #endif
++ #ifdef SIGLOST
++ sig != SIGLOST &&
++ #endif
++ #ifdef SIGUSR1
++ sig != SIGUSR1 &&
++ #endif
++ #ifdef SIGUSR2
++ sig != SIGUSR2 &&
++ #endif
++ sig == terminating_signal)
++ terminate_immediately = 1;
++
+ terminating_signal = sig;
+
+*** ../bash-4.0/patchlevel.h 2009-01-04 14:32:40.000000000 -0500
+--- patchlevel.h 2009-02-22 16:11:31.000000000 -0500
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 14
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 15
+
+ #endif /* _PATCHLEVEL_H_ */