recipes: networking/wget: upgraded to version 1.20.1
[dragora.git] / patches / bash / bash44-016
blob94ae90baa3b5c92578862086529103e5f9ff855b
1                              BASH PATCH REPORT
2                              =================
4 Bash-Release:   4.4
5 Patch-ID:       bash44-016
7 Bug-Reported-by:        Luiz Angelo Daros de Luca <luizluca@gmail.com>
8 Bug-Reference-ID:       <CAJq09z7G1-QnLyiUQA0DS=V3da_rtHF8VdYbbdzPe_W3kydpRg@mail.gmail.com>
9 Bug-Reference-URL:      http://lists.gnu.org/archive/html/bug-bash/2016-09/msg00092.html
11 Bug-Description:
13 Bash can perform trap processing while reading command substitution output
14 instead of waiting until the command completes.
16 Patch (apply with `patch -p0'):
18 *** ../bash-4.4/lib/sh/zread.c  2014-12-22 10:48:04.000000000 -0500
19 --- lib/sh/zread.c      2016-09-29 15:21:36.000000000 -0400
20 ***************
21 *** 38,42 ****
22 --- 38,45 ----
23   #endif
24   
25 + extern int executing_builtin;
26
27   extern void check_signals_and_traps (void);
28 + extern void check_signals (void);
29   extern int signal_is_trapped (int);
30   
31 ***************
32 *** 51,69 ****
33     ssize_t r;
34   
35 - #if 0
36 - #if defined (HAVE_SIGINTERRUPT)
37 -   if (signal_is_trapped (SIGCHLD))
38 -     siginterrupt (SIGCHLD, 1);
39 - #endif
40 - #endif
41
42     while ((r = read (fd, buf, len)) < 0 && errno == EINTR)
43 !     check_signals_and_traps ();       /* XXX - should it be check_signals()? */
44
45 ! #if 0 
46 ! #if defined (HAVE_SIGINTERRUPT)
47 !   siginterrupt (SIGCHLD, 0);
48 ! #endif
49 ! #endif
50   
51     return r;
52 --- 54,64 ----
53     ssize_t r;
54   
55     while ((r = read (fd, buf, len)) < 0 && errno == EINTR)
56 !     /* XXX - bash-5.0 */
57 !     /* We check executing_builtin and run traps here for backwards compatibility */
58 !     if (executing_builtin)
59 !       check_signals_and_traps ();     /* XXX - should it be check_signals()? */
60 !     else
61 !       check_signals ();
62   
63     return r;
64 *** ../bash-4.4/patchlevel.h    2016-06-22 14:51:03.000000000 -0400
65 --- patchlevel.h        2016-10-01 11:01:28.000000000 -0400
66 ***************
67 *** 26,30 ****
68      looks for to find the patch level (for the sccs version string). */
69   
70 ! #define PATCHLEVEL 15
71   
72   #endif /* _PATCHLEVEL_H_ */
73 --- 26,30 ----
74      looks for to find the patch level (for the sccs version string). */
75   
76 ! #define PATCHLEVEL 16
77   
78   #endif /* _PATCHLEVEL_H_ */