From 6da44a393103e4c988ef7e90565a8506994e0ae9 Mon Sep 17 00:00:00 2001 From: MilhouseVH Date: Mon, 25 Feb 2019 20:59:12 +0000 Subject: [PATCH] config/functions: maybe pedantic, but just in case append isn't thread-safe --- config/functions | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/config/functions b/config/functions index 050498b604..c232a8a97d 100644 --- a/config/functions +++ b/config/functions @@ -1261,11 +1261,15 @@ pkg_lock_status() { local status="$1" pkg="$2" task="$3" msg="$4" local this_job="${MTJOBID}" line - printf -v line "%s: <%05d> [%02d/%0*d] %-7s %-7s %-35s" \ - "$(date +%Y-%m-%d\ %H:%M:%S.%N)" $$ ${this_job} ${#MTMAXJOBS} ${PARALLEL_SEQ:-0} "${status}" "${task}" "${pkg}" - [ -n "${msg}" ] && line+=" (${msg})" + ( + flock --exclusive 94 - echo "${line}" >>"${THREAD_CONTROL}/history" + printf -v line "%s: <%05d> [%02d/%0*d] %-7s %-7s %-35s" \ + "$(date +%Y-%m-%d\ %H:%M:%S.%N)" $$ ${this_job} ${#MTMAXJOBS} ${PARALLEL_SEQ:-0} "${status}" "${task}" "${pkg}" + [ -n "${msg}" ] && line+=" (${msg})" + + echo "${line}" >>"${THREAD_CONTROL}/history" + ) 94>"${THREAD_CONTROL}/locks/.history" [ "${DASHBOARD}" != "no" ] && update_dashboard "${status}" "${pkg}" "${task}" "${msg}"