diff options
author | Mike Frysinger <vapier@gentoo.org> | 2006-03-19 08:52:48 +0000 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2006-03-19 08:52:48 +0000 |
commit | b8601dd7ea62a7fa99450878b54c3da58fc06b12 (patch) | |
tree | 298fcc95474f4a4cef9a96e9a5b0da651c90e06a /package/bash/bash31-009 | |
parent | d4f0350c6da4a2a801f1e8ab28b8d914953a3d86 (diff) |
import bash-3.1 patches
Diffstat (limited to 'package/bash/bash31-009')
-rw-r--r-- | package/bash/bash31-009 | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/package/bash/bash31-009 b/package/bash/bash31-009 new file mode 100644 index 000000000..62f456fff --- /dev/null +++ b/package/bash/bash31-009 @@ -0,0 +1,66 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 3.1 +Patch-ID: bash31-009 + +Bug-Reported-by: Joshua Neuheisel <jneuheisel@gmail.com> +Bug-Reference-ID: <25d873330601140820v4ad8efd2t8bf683b073c138b3@mail.gmail.com> +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2006-01/msg00062.html + +Bug-Description: + +Under some circumstances, background (asynchronous) jobs can set the terminal +process group incorrectly. This can cause a foreground process (including +the foreground shell) to get read errors and exit. + +Patch: + +*** bash-3.1/jobs.c Fri Nov 11 23:13:27 2005 +--- bash-3.1/jobs.c Wed Feb 1 13:55:38 2006 +*************** +*** 620,625 **** + * the parent gives it away. + * + */ +! if (job_control && newjob->pgrp) + give_terminal_to (newjob->pgrp, 0); + } +--- 634,642 ---- + * the parent gives it away. + * ++ * Don't give the terminal away if this shell is an asynchronous ++ * subshell. ++ * + */ +! if (job_control && newjob->pgrp && (subshell_environment&SUBSHELL_ASYNC) == 0) + give_terminal_to (newjob->pgrp, 0); + } +*************** +*** 1656,1660 **** + shell's process group (we could be in the middle of a + pipeline, for example). */ +! if (async_p == 0 && pipeline_pgrp != shell_pgrp) + give_terminal_to (pipeline_pgrp, 0); + +--- 1743,1747 ---- + shell's process group (we could be in the middle of a + pipeline, for example). */ +! if (async_p == 0 && pipeline_pgrp != shell_pgrp && ((subshell_environment&SUBSHELL_ASYNC) == 0)) + give_terminal_to (pipeline_pgrp, 0); + +*** bash-3.1/patchlevel.h Wed Jul 20 13:58:20 2005 +--- bash-3.1/patchlevel.h Wed Dec 7 13:48:42 2005 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 8 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 9 + + #endif /* _PATCHLEVEL_H_ */ |