]>
Commit | Line | Data |
---|---|---|
bd03fb8f AM |
1 | BASH PATCH REPORT |
2 | ================= | |
3 | ||
4 | Bash-Release: 4.0 | |
5 | Patch-ID: bash40-015 | |
6 | ||
7 | Bug-Reported-by: Lubomir Rintel <lkundrak@v3.sk> | |
8 | Bug-Reference-ID: <1237654931.32737.13.camel@localhost.localdomain> | |
9 | Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2009-03/msg00174.html | |
10 | ||
11 | Bug-Description: | |
12 | ||
13 | Deferring handling of signals which should cause the shell to terminate until | |
14 | it is "safe" to run the handler functions does not work for some terminating | |
15 | signals. | |
16 | ||
17 | Patch: | |
18 | ||
19 | *** ../bash-4.0-patched/sig.c 2009-01-04 14:32:41.000000000 -0500 | |
20 | --- sig.c 2009-03-22 14:47:56.000000000 -0400 | |
21 | *************** | |
22 | *** 449,452 **** | |
23 | --- 449,494 ---- | |
24 | int sig; | |
25 | { | |
26 | + /* If we get called twice with the same signal before handling it, | |
27 | + terminate right away. */ | |
28 | + if ( | |
29 | + #ifdef SIGHUP | |
30 | + sig != SIGHUP && | |
31 | + #endif | |
32 | + #ifdef SIGINT | |
33 | + sig != SIGINT && | |
34 | + #endif | |
35 | + #ifdef SIGDANGER | |
36 | + sig != SIGDANGER && | |
37 | + #endif | |
38 | + #ifdef SIGPIPE | |
39 | + sig != SIGPIPE && | |
40 | + #endif | |
41 | + #ifdef SIGALRM | |
42 | + sig != SIGALRM && | |
43 | + #endif | |
44 | + #ifdef SIGTERM | |
45 | + sig != SIGTERM && | |
46 | + #endif | |
47 | + #ifdef SIGXCPU | |
48 | + sig != SIGXCPU && | |
49 | + #endif | |
50 | + #ifdef SIGXFSZ | |
51 | + sig != SIGXFSZ && | |
52 | + #endif | |
53 | + #ifdef SIGVTALRM | |
54 | + sig != SIGVTALRM && | |
55 | + #endif | |
56 | + #ifdef SIGLOST | |
57 | + sig != SIGLOST && | |
58 | + #endif | |
59 | + #ifdef SIGUSR1 | |
60 | + sig != SIGUSR1 && | |
61 | + #endif | |
62 | + #ifdef SIGUSR2 | |
63 | + sig != SIGUSR2 && | |
64 | + #endif | |
65 | + sig == terminating_signal) | |
66 | + terminate_immediately = 1; | |
67 | + | |
68 | terminating_signal = sig; | |
69 | ||
70 | *** ../bash-4.0/patchlevel.h 2009-01-04 14:32:40.000000000 -0500 | |
71 | --- patchlevel.h 2009-02-22 16:11:31.000000000 -0500 | |
72 | *************** | |
73 | *** 26,30 **** | |
74 | looks for to find the patch level (for the sccs version string). */ | |
75 | ||
76 | ! #define PATCHLEVEL 14 | |
77 | ||
78 | #endif /* _PATCHLEVEL_H_ */ | |
79 | --- 26,30 ---- | |
80 | looks for to find the patch level (for the sccs version string). */ | |
81 | ||
82 | ! #define PATCHLEVEL 15 | |
83 | ||
84 | #endif /* _PATCHLEVEL_H_ */ |