diff options
author | Lucio Andrés Illanes Albornoz (arab, vxp) <lucio@lucioillanes.de> | 2017-12-22 18:40:49 +0000 |
---|---|---|
committer | Lucio Andrés Illanes Albornoz (arab, vxp) <lucio@lucioillanes.de> | 2017-12-22 18:47:27 +0000 |
commit | 30ae149529f8ce02bee49c0706d67e677e44f24c (patch) | |
tree | 38b66fde3e76ef73606b80e1bdb2f282ffc5d7f5 /build.sh | |
parent | 3b355c1f44adad46b0c1a16d29f7b0f12b0c029c (diff) | |
download | midipix_build-30ae149529f8ce02bee49c0706d67e677e44f24c.tar.bz2 midipix_build-30ae149529f8ce02bee49c0706d67e677e44f24c.tar.xz |
build.sh:fail_pkg: terminate pending builds given build failure, -P, and absence of -R.
etc/build.usage: clarify the consequences of parallelising builds to guide the perplexed and to confuse the people of the tribe of certainty into enlightenment (or not?)
subr/ex_pkg_dispatch.subr:exp_pkg_dispatch(): moved traps.
subr/ex_pkg_exec.subr:ex_pkg_exec(): forcibly pkill(1) child processes on failure.
Diffstat (limited to 'build.sh')
-rwxr-xr-x | build.sh | 5 |
1 files changed, 4 insertions, 1 deletions
@@ -45,7 +45,10 @@ buildp_dispatch() { else ex_rtl_log_msg fail "${BUILD_WORKDIR}/${_pkg_name}_stderrout.log:"; cat "${BUILD_WORKDIR}/${_pkg_name}_stderrout.log"; - ex_rtl_log_msg failexit "Build failed in \`${_pkg_name}'."; + ex_rtl_log_msg fail "Build failed in \`${_pkg_name}'."; + ex_rtl_log_msg fail "Terminating pending builds..."; + pkill -P "${$}"; + exit 1; fi; ;; disabled_pkg) ex_rtl_log_msg vnfo "Skipping disabled package \`${_pkg_name}.'"; ;; skipped_pkg) ex_rtl_log_msg vnfo "Skipping finished package \`${_pkg_name}.'"; ;; |