config/functions: fix formatting with THREADCOUNT=0

This commit is contained in:
MilhouseVH 2019-08-08 21:53:27 +01:00
parent bcb6fbb2dd
commit 2c2a752bb4

View File

@ -1251,7 +1251,7 @@ pkg_lock() {
local pkg="$1" task="$2" parent_pkg="$3"
local this_job="${MTJOBID}"
local lock_job lock_seq lock_task lock_pkg locked=no
local lock_job lock_seq lock_task lock_pkg locked=no idwidth
local fail_seq
exec 98>"${THREAD_CONTROL}/locks/${pkg}.${task}"
@ -1262,7 +1262,8 @@ pkg_lock() {
done
if [ "${locked}" = "no" -a "${lock_job}/${lock_seq}" != "${this_job}/${PARALLEL_SEQ}" ]; then
pkg_lock_status "STALLED" "${parent_pkg}" "${task}" "$(printf "waiting on [%02d] %s %s" ${lock_job} "${lock_task}" "${lock_pkg}")"
[ "${THREADCOUNT}" = "0" ] && idwidth=${#MTMAXJOBS} || idwidth=2
pkg_lock_status "STALLED" "${parent_pkg}" "${task}" "$(printf "waiting on [%0*d] %s %s" ${idwidth} ${lock_job} "${lock_task}" "${lock_pkg}")"
flock --exclusive 98
fi
@ -1290,13 +1291,15 @@ pkg_lock_status() {
[ "${MTWITHLOCKS}" != "yes" ] && return 0
local status="$1" pkg="$2" task="$3" msg="$4"
local this_job="${MTJOBID}" line
local this_job="${MTJOBID}" line idwidth
[ "${THREADCOUNT}" = "0" ] && idwidth=${#MTMAXJOBS} || idwidth=2
(
flock --exclusive 94
printf -v line "%s: <%06d> [%02d/%0*d] %-7s %-7s %-35s" \
"$(date +%Y-%m-%d\ %H:%M:%S.%N)" $$ ${this_job} ${#MTMAXJOBS} ${PARALLEL_SEQ:-0} "${status}" "${task}" "${pkg}"
printf -v line "%s: <%06d> [%0*d/%0*d] %-7s %-7s %-35s" \
"$(date +%Y-%m-%d\ %H:%M:%S.%N)" $$ ${idwidth} ${this_job} ${#MTMAXJOBS} ${PARALLEL_SEQ:-0} "${status}" "${task}" "${pkg}"
[ -n "${msg}" ] && line+=" (${msg})"
echo "${line}" >>"${THREAD_CONTROL}/history"
@ -1322,10 +1325,12 @@ update_dashboard() {
local status="$1" pkg="$2" task="$3" msg="$4"
local line sedline preamble num elapsed projdevarch
local boldred boldgreen boldyellow endcolor
local boldred boldgreen boldyellow endcolor idwidth
sedline=$((MTJOBID + 2))
[ "${THREADCOUNT}" = "0" ] && idwidth=${#MTMAXJOBS} || idwidth=2
num=$(< "${THREAD_CONTROL}/status.max")
if [ ${num} -lt ${sedline} ]; then
echo ${sedline} >"${THREAD_CONTROL}/status.max"
@ -1357,7 +1362,7 @@ update_dashboard() {
esac
fi
printf -v line "[%02d\/%0*d] %b%-7s%b %-7s %-35s" ${MTJOBID} ${#MTMAXJOBS} ${PARALLEL_SEQ:-0} "${color}" "${status//\//\\/}" "${endcolor}" "${task}" "${pkg}"
printf -v line "[%0*d\/%0*d] %b%-7s%b %-7s %-35s" ${idwidth} ${MTJOBID} ${#MTMAXJOBS} ${PARALLEL_SEQ:-0} "${color}" "${status//\//\\/}" "${endcolor}" "${task}" "${pkg}"
[ -n "${msg}" ] && line+=" ${msg//\//\\/}"
sed -e "1s/.*/${preamble}/;${sedline}s/.*/${line}/" -i "${THREAD_CONTROL}/status"
@ -1370,7 +1375,7 @@ acquire_exclusive_lock() {
local pkg="$1" task="$2" lockfile="${3:-global}"
local this_job="${MTJOBID}"
local lock_job lock_seq lock_task lock_pkg locked=no
local lock_job lock_seq lock_task lock_pkg locked=no idwidth
exec 96>"${THREAD_CONTROL}/locks/.mutex.${lockfile}"
while [ : ]; do
@ -1380,7 +1385,8 @@ acquire_exclusive_lock() {
done
if [ "${locked}" = "no" -a "${lock_job}/${lock_seq}" != "${this_job}/${PARALLEL_SEQ}" ]; then
pkg_lock_status "MUTEX/W" "${pkg}" "${task}" "$(printf "mutex: %s; waiting on [%02d] %s %s" "${lockfile}" ${lock_job} "${lock_task}" "${lock_pkg}")"
[ "${THREADCOUNT}" = "0" ] && idwidth=${#MTMAXJOBS} || idwidth=2
pkg_lock_status "MUTEX/W" "${pkg}" "${task}" "$(printf "mutex: %s; waiting on [%0*d] %s %s" "${lockfile}" ${idwidth} ${lock_job} "${lock_task}" "${lock_pkg}")"
flock --exclusive 96
fi