From 25e5b6590a978310f81d84c448e47776ea6e4ebd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lucio=20Andr=C3=A9s=20Illanes=20Albornoz?= Date: Tue, 11 Feb 2020 17:52:24 +0000 Subject: subr/ex_pkg_dispatch.subr: correctly update ${_pkg_names}. --- subr/ex_pkg_dispatch.subr | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'subr/ex_pkg_dispatch.subr') 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; -- cgit v1.2.3