summaryrefslogtreecommitdiffhomepage
path: root/subr
diff options
context:
space:
mode:
Diffstat (limited to 'subr')
-rw-r--r--subr/ex_pkg_dispatch.subr4
1 files changed, 3 insertions, 1 deletions
diff --git a/subr/ex_pkg_dispatch.subr b/subr/ex_pkg_dispatch.subr
index 236e9aaf..860361cc 100644
--- a/subr/ex_pkg_dispatch.subr
+++ b/subr/ex_pkg_dispatch.subr
@@ -29,7 +29,6 @@ exp_pkg_dispatch_group() {
"${_pkg_name}" "${_restart_at}" "${_stderrout_path}" \
"${_pipe_path}"; then
_pkgs_found_new="${_pkgs_found_new:+${_pkgs_found_new} }${_pkg_name}";
- _pkg_names="$(ex_rtl_lfilter "${_pkg_names}" "${_pkg_name}")";
break;
fi;
done;
@@ -42,10 +41,12 @@ exp_pkg_dispatch_package() {
_pkg_name_uc="$(ex_rtl_toupper "${_pkg_name}")";
if [ -n "$(ex_rtl_get_var_unsafe PKG_${_pkg_name_uc}_DISABLED)" ]; then
_pkgs_complete="${_pkgs_complete:+${_pkgs_complete} }${_pkg_name}"; _rc=1;
+ _pkg_names="$(ex_rtl_lfilter "${_pkg_names}" "${_pkg_name}")";
"${_dispatch_fn}" disabled_pkg "${_group_name}" "${_pkg_name}";
elif ex_pkg_state_test "${_pkg_name}" finish\
&& [ -z "${_restart_at}" ]; then
_pkgs_complete="${_pkgs_complete:+${_pkgs_complete} }${_pkg_name}"; _rc=1;
+ _pkg_names="$(ex_rtl_lfilter "${_pkg_names}" "${_pkg_name}")";
"${_dispatch_fn}" skipped_pkg "${_group_name}" "${_pkg_name}";
else
_pkgs_wait="${_pkgs_wait:+${_pkgs_wait} }${_pkg_name}";
@@ -102,6 +103,7 @@ ex_pkg_dispatch() {
case "${_pipe_msg%% *}" in
done) "${_dispatch_fn}" finish_pkg ${_pipe_msg#done }; _pkg_name="${_pipe_msg#done * }"; : $((_njobs-=1));
_pkgs_complete="${_pkgs_complete:+${_pkgs_complete} }${_pkg_name}";
+ _pkg_names="$(ex_rtl_lfilter "${_pkg_names}" "${_pkg_name}")";
_pkgs_wait="$(ex_rtl_lfilter "${_pkgs_wait}" "${_pkg_name}")";
if [ "${_script_rc:-0}" -eq 0 ]; then
exp_pkg_dispatch_group;