summaryrefslogtreecommitdiffhomepage
path: root/subr
diff options
context:
space:
mode:
authorLucio Andrés Illanes Albornoz (arab, vxp) <lucio@lucioillanes.de>2017-12-05 15:53:58 +0000
committerLucio Andrés Illanes Albornoz (arab, vxp) <lucio@lucioillanes.de>2017-12-05 15:56:59 +0000
commit4b9285c0f65773d49514742c2e60755262018496 (patch)
tree3f695893e73efe377a667a36543661fd36f8f3c1 /subr
parentd1d91849cf26f51f517ad98bf7fbb06ac9de5bfd (diff)
downloadmidipix_build-4b9285c0f65773d49514742c2e60755262018496.tar.bz2
midipix_build-4b9285c0f65773d49514742c2e60755262018496.tar.xz
subr/ex_pkg_dispatch.subr:ex_pkg_dispatch(): open FIFO in read/write mode to prevent EOF-related race conditions.
subr/ex_pkg_exec.subr:ex_pkg_exec(): always dispatch finish for successfully built packages.
Diffstat (limited to 'subr')
-rw-r--r--subr/ex_pkg_dispatch.subr4
-rw-r--r--subr/ex_pkg_exec.subr4
2 files changed, 4 insertions, 4 deletions
diff --git a/subr/ex_pkg_dispatch.subr b/subr/ex_pkg_dispatch.subr
index 05c69b33..43d3fb60 100644
--- a/subr/ex_pkg_dispatch.subr
+++ b/subr/ex_pkg_dispatch.subr
@@ -80,8 +80,8 @@ ex_pkg_dispatch() {
fail) _script_rc=1;
"${_dispatch_fn}" fail_pkg ${_pipe_msg#fail };
[ $((_njobs-=1)) -eq 0 ] && break; ;;
- step) "${_dispatch_fn}" step_pkg ${_pipe_msg#step };
- esac; done <"${_pipe_path}";
+ step) "${_dispatch_fn}" step_pkg ${_pipe_msg#step }; ;;
+ esac; done <>"${_pipe_path}";
fi;
ex_rtl_fileop rm "${_pipe_path}";
if [ "${_script_rc:-1}" -eq 1 ]; then
diff --git a/subr/ex_pkg_exec.subr b/subr/ex_pkg_exec.subr
index 4447008d..ceb9579a 100644
--- a/subr/ex_pkg_exec.subr
+++ b/subr/ex_pkg_exec.subr
@@ -53,9 +53,9 @@ ex_pkg_exec() {
"${_dispatch_fn}" exec_step "${_pkg_name}" "${_tgt_name}" "${_step}";
ex_pkg_state_set "${_pkg_name}" "${_step}" "${1:+-${1}}";
done;
- "${_dispatch_fn}" exec_finish "${_pkg_name}" "${_tgt_name}";
- ex_pkg_state_set "${_pkg_name}" finish;
fi;
+ "${_dispatch_fn}" exec_finish "${_pkg_name}" "${_tgt_name}";
+ ex_pkg_state_set "${_pkg_name}" finish;
};
# vim:filetype=sh