mirror of
https://github.com/LibreELEC/LibreELEC.tv.git
synced 2025-07-24 11:16:51 +00:00
buildsystem: avoid process forks to init dashboard status file
A typical image build will update the dashboard 3500-4500 times. This change avoids two process forks (cat, wc) per update, and the remaining $(< file) is faster than $(cat file).
This commit is contained in:
parent
04b8036e32
commit
0bd4793492
@ -1322,8 +1322,11 @@ update_dashboard() {
|
||||
|
||||
sedline=$((MTJOBID + 2))
|
||||
|
||||
num=$(cat "${THREAD_CONTROL}/status" | wc -l)
|
||||
while [ ${num} -lt ${sedline} ]; do echo "" >>"${THREAD_CONTROL}/status"; num=$((num + 1)); done
|
||||
num=$(< "${THREAD_CONTROL}/status.max")
|
||||
if [ ${num} -lt ${sedline} ]; then
|
||||
echo ${sedline} >"${THREAD_CONTROL}/status.max"
|
||||
for i in $(seq $((num + 1)) ${sedline}); do echo "" >>"${THREAD_CONTROL}/status"; done
|
||||
fi
|
||||
|
||||
num=$(< "${THREAD_CONTROL}/progress.prev")
|
||||
projdevarch="${PROJECT}/"
|
||||
|
@ -144,6 +144,7 @@ start_multithread_build() {
|
||||
mkdir -p "${THREAD_CONTROL}/locks"
|
||||
echo -1 >"${THREAD_CONTROL}/progress.prev"
|
||||
echo 0 >"${THREAD_CONTROL}/progress"
|
||||
echo 0 >"${THREAD_CONTROL}/status.max"
|
||||
touch "${THREAD_CONTROL}/status"
|
||||
|
||||
[ "${THREADCOUNT}" = "0" ] && THREADCOUNT=1
|
||||
|
Loading…
x
Reference in New Issue
Block a user