On czw, 2017-03-23 at 18:55 +0100, Michał Górny wrote: > Alike the PMS-defined phases, sub-phases do not support leaving jobs > behind. To avoid leaving something accidentally, make sure to reap all > jobs (i.e. wait) post running the command. Warn if any stray processes > are found since that indicates a bug in ebuild. > --- > eclass/multibuild.eclass | 12 ++++++++++++ > 1 file changed, 12 insertions(+) > > diff --git a/eclass/multibuild.eclass b/eclass/multibuild.eclass > index 0f89e4ec0b83..a29218d8d840 100644 > --- a/eclass/multibuild.eclass > +++ b/eclass/multibuild.eclass > @@ -125,6 +125,18 @@ multibuild_foreach_variant() { > _multibuild_run "${@}" \ > > >(exec tee -a "${T}/build-${MULTIBUILD_ID}.log") 2>&1 > lret=${?} > + > + # make sure no processes are left over > + local leftovers= > + while :; do > + wait -n > + [[ ${?} -eq 127 ]] && break || leftovers=1 > + done > + > + if [[ ${leftovers} ]]; then > + ewarn "The multibuild function has left one or more processes running" > + ewarn "in the background. Please report a bug." > + fi > done > [[ ${ret} -eq 0 && ${lret} -ne 0 ]] && ret=${lret} > Merged. -- Best regards, Michał Górny