]> git.pld-linux.org Git - packages/bash.git/blame - bash32-018
- up to 3.2.39
[packages/bash.git] / bash32-018
CommitLineData
1b0dc639
AM
1 BASH PATCH REPORT
2 =================
3
4Bash-Release: 3.2
5Patch-ID: bash32-018
6
7Bug-Reported-by: osicka@post.cz
8Bug-Reference-ID: <228.177-19682-1132061412-1179356692@post.cz>
9Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2007-05/msg00061.html
10
11Bug-Description:
12
13In certain cases, bash can lose the saved status of a background job, though
14it should still be reported by `wait'. Bash can also loop infinitely after
15creating and waiting for 4096 jobs.
16
17Patch:
18
19*** ../bash-20070510/jobs.c Thu Mar 8 16:05:50 2007
20--- jobs.c Fri May 18 11:40:14 2007
21***************
22*** 784,792 ****
23 {
24 old = js.j_firstj++;
25 while (js.j_firstj != old)
26 {
27 if (js.j_firstj >= js.j_jobslots)
28 js.j_firstj = 0;
29! if (jobs[js.j_firstj])
30 break;
31 js.j_firstj++;
32--- 784,794 ----
33 {
34 old = js.j_firstj++;
35+ if (old >= js.j_jobslots)
36+ old = js.j_jobslots - 1;
37 while (js.j_firstj != old)
38 {
39 if (js.j_firstj >= js.j_jobslots)
40 js.j_firstj = 0;
41! if (jobs[js.j_firstj] || js.j_firstj == old) /* needed if old == 0 */
42 break;
43 js.j_firstj++;
44***************
45*** 798,806 ****
46 {
47 old = js.j_lastj--;
48 while (js.j_lastj != old)
49 {
50 if (js.j_lastj < 0)
51 js.j_lastj = js.j_jobslots - 1;
52! if (jobs[js.j_lastj])
53 break;
54 js.j_lastj--;
55--- 800,810 ----
56 {
57 old = js.j_lastj--;
58+ if (old < 0)
59+ old = 0;
60 while (js.j_lastj != old)
61 {
62 if (js.j_lastj < 0)
63 js.j_lastj = js.j_jobslots - 1;
64! if (jobs[js.j_lastj] || js.j_lastj == old) /* needed if old == js.j_jobslots */
65 break;
66 js.j_lastj--;
67***************
68*** 964,968 ****
69 realloc_jobs_list ();
70
71! return (js.j_lastj);
72 }
73
74--- 975,983 ----
75 realloc_jobs_list ();
76
77! #ifdef DEBUG
78! itrace("compact_jobs_list: returning %d", (js.j_lastj || jobs[js.j_lastj]) ? js.j_lastj + 1 : 0);
79! #endif
80!
81! return ((js.j_lastj || jobs[js.j_lastj]) ? js.j_lastj + 1 : 0);
82 }
83
84*** ../bash-3.2/patchlevel.h Thu Apr 13 08:31:04 2006
85--- patchlevel.h Mon Oct 16 14:22:54 2006
86***************
87*** 26,30 ****
88 looks for to find the patch level (for the sccs version string). */
89
90! #define PATCHLEVEL 17
91
92 #endif /* _PATCHLEVEL_H_ */
93--- 26,30 ----
94 looks for to find the patch level (for the sccs version string). */
95
96! #define PATCHLEVEL 18
97
98 #endif /* _PATCHLEVEL_H_ */
This page took 0.040508 seconds and 4 git commands to generate.