app-shells/dash: Fixed subshell regression.

See https://patchwork.kernel.org/patch/10382199/

Closes: https://bugs.gentoo.org/655320
Package-Manager: Portage-2.3.36, Repoman-2.3.9
This commit is contained in:
Lars Wendler
2018-05-09 13:31:34 +02:00
parent 5d6169cb87
commit b3cd383722
2 changed files with 20 additions and 1 deletions

View File

@@ -27,7 +27,10 @@ DEPEND="${RDEPEND}
virtual/pkgconfig
libedit? ( static? ( dev-libs/libedit[static-libs] ) )"
PATCHES=( "${FILESDIR}"/${PN}-0.5.9.1-format-security.patch )
PATCHES=(
"${FILESDIR}"/${PN}-0.5.9.1-format-security.patch
"${FILESDIR}"/${P}-subshells.patch
)
src_prepare() {
if [[ -n "${DEB_PATCH}" ]] ; then

View File

@@ -0,0 +1,16 @@
https://bugs.gentoo.org/655320
https://patchwork.kernel.org/patch/10382199/
--- dash-0.5.10/src/jobs.c
+++ dash-0.5.10/src/jobs.c
@@ -975,8 +975,8 @@
int st;
TRACE(("waitforjob(%%%d) called\n", jp ? jobno(jp) : 0));
- while ((jp && jp->state == JOBRUNNING) || gotsigchld)
- dowait(DOWAIT_BLOCK, jp);
+ while (jp ? jp->state == JOBRUNNING : gotsigchld)
+ dowait(jp ? DOWAIT_BLOCK : DOWAIT_NORMAL, jp);
if (!jp)
return exitstatus;
st = getstatus(jp);