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