| From https://ftp.gnu.org/gnu/bash/bash-5.0-patches/bash50-007 |
| |
| Signed-off-by: Pascal de Bruijn <p.debruijn@unilogic.nl> |
| |
| BASH PATCH REPORT |
| ================= |
| |
| Bash-Release: 5.0 |
| Patch-ID: bash50-007 |
| |
| Bug-Reported-by: Grisha Levit <grishalevit@gmail.com> |
| Bug-Reference-ID: <CAMu=BroHapG1AS3xB5SQaCX2XKu=-E2Ob9uW6LNuHvd=YohrDw@mail.gmail.com> |
| Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2019-02/msg00067.html |
| |
| Bug-Description: |
| |
| Running `exec' when job control was disabled, even temporarily, but after it |
| had been initialized, could leave the terminal in the wrong process group for |
| the executed process. |
| |
| Patch (apply with `patch -p0'): |
| |
| *** ../bash-5.0-patched/jobs.c 2018-12-06 11:44:34.000000000 -0500 |
| --- b/jobs.c 2019-04-12 15:15:10.000000000 -0400 |
| *************** |
| *** 4838,4850 **** |
| { |
| if (job_control) |
| ! { |
| ! terminate_stopped_jobs (); |
| |
| ! if (original_pgrp >= 0) |
| ! give_terminal_to (original_pgrp, 1); |
| ! } |
| |
| ! if (original_pgrp >= 0) |
| ! setpgid (0, original_pgrp); |
| } |
| |
| --- 4838,4848 ---- |
| { |
| if (job_control) |
| ! terminate_stopped_jobs (); |
| |
| ! if (original_pgrp >= 0 && terminal_pgrp != original_pgrp) |
| ! give_terminal_to (original_pgrp, 1); |
| |
| ! if (original_pgrp >= 0 && setpgid (0, original_pgrp) == 0) |
| ! shell_pgrp = original_pgrp; |
| } |
| |
| *** ../bash-5.0/patchlevel.h 2016-06-22 14:51:03.000000000 -0400 |
| --- b/patchlevel.h 2016-10-01 11:01:28.000000000 -0400 |
| *************** |
| *** 26,30 **** |
| looks for to find the patch level (for the sccs version string). */ |
| |
| ! #define PATCHLEVEL 6 |
| |
| #endif /* _PATCHLEVEL_H_ */ |
| --- 26,30 ---- |
| looks for to find the patch level (for the sccs version string). */ |
| |
| ! #define PATCHLEVEL 7 |
| |
| #endif /* _PATCHLEVEL_H_ */ |