54
|
1 |
BASH PATCH REPORT
|
|
2 |
=================
|
|
3 |
|
|
4 |
Bash-Release: 4.1
|
|
5 |
Patch-ID: bash41-009
|
|
6 |
|
|
7 |
Bug-Reported-by: Tomas Trnka <[email protected]>
|
|
8 |
Bug-Reference-ID: <[email protected]>
|
|
9 |
Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2010-03/msg00090.html
|
|
10 |
|
|
11 |
Bug-Description:
|
|
12 |
|
|
13 |
An arriving SIGCHLD will interrupt `slow' system calls such as write(2) to
|
|
14 |
or read(2) from a terminal. This results in an error message and truncated
|
|
15 |
input or output.
|
|
16 |
|
|
17 |
Patch (apply with `patch -p0'):
|
|
18 |
|
|
19 |
*** ../bash-4.1-patched/sig.c Fri Aug 14 16:31:52 2009
|
|
20 |
--- sig.c Fri Mar 26 22:34:11 2010
|
|
21 |
***************
|
|
22 |
*** 655,660 ****
|
|
23 |
--- 655,663 ----
|
|
24 |
act.sa_flags |= SA_INTERRUPT; /* XXX */
|
|
25 |
else
|
|
26 |
act.sa_flags |= SA_RESTART; /* XXX */
|
|
27 |
+ #else
|
|
28 |
+ if (sig == SIGCHLD)
|
|
29 |
+ act.sa_flags |= SA_RESTART;
|
|
30 |
#endif
|
|
31 |
sigemptyset (&act.sa_mask);
|
|
32 |
sigemptyset (&oact.sa_mask);
|
|
33 |
*** ../bash-4.1-patched/patchlevel.h 2009-10-01 16:39:22.000000000 -0400
|
|
34 |
--- patchlevel.h 2010-01-14 09:38:08.000000000 -0500
|
|
35 |
***************
|
|
36 |
*** 26,30 ****
|
|
37 |
looks for to find the patch level (for the sccs version string). */
|
|
38 |
|
|
39 |
! #define PATCHLEVEL 8
|
|
40 |
|
|
41 |
#endif /* _PATCHLEVEL_H_ */
|
|
42 |
--- 26,30 ----
|
|
43 |
looks for to find the patch level (for the sccs version string). */
|
|
44 |
|
|
45 |
! #define PATCHLEVEL 9
|
|
46 |
|
|
47 |
#endif /* _PATCHLEVEL_H_ */
|
|
48 |
|