small fixes

This commit is contained in:
Vincent Riquer 2013-04-04 15:55:18 +02:00
parent 460e244536
commit f568011882

32
atom
View File

@ -1269,15 +1269,9 @@ encodeFile::vorbis() {
} }
worker() { worker() {
debug=2
trap "kill -USR1 $masterpid" EXIT
trap - USR1 ALRM PIPE
exec 2>>"$tempdir/worker$1.log" exec 2>>"$tempdir/worker$1.log"
(( debug >= 2 )) && echo "${cmd_arg[@]}" >&2 (( debug >= 2 )) && echo "${cmd_arg[@]}" >&2
"${cmd_arg[@]}" >/dev/null "${cmd_arg[@]}" >/dev/null
status=$?
kill -USR1 $masterpid
exit $status
} }
master() { master() {
@ -1429,9 +1423,7 @@ master() {
workerid=$(getworkerid) workerid=$(getworkerid)
workertasks[workerid]=$taskid workertasks[workerid]=$taskid
Update tasks status 1 <<<"id = $taskid" Update tasks status 1 <<<"id = $taskid"
export cmd_arg
createworker $workerid createworker $workerid
unset cmd_arg
fi fi
fi fi
} }
@ -1452,7 +1444,7 @@ getworkerid() {
} }
createworker() { createworker() {
worker & worker $1 &
workers[$1]=$! workers[$1]=$!
} }
@ -1472,8 +1464,7 @@ gettaskinfos() {
fileid, fileid,
filename filename
FROM tasks FROM tasks
WHERE WHERE id='$1';
id='$1';
' >&3 ' >&3
read -u4 line read -u4 line
taskid=${line%%|*} taskid=${line%%|*}
@ -1491,8 +1482,9 @@ gettaskinfos() {
} }
cleaner() { cleaner() {
for taskid in ${failedtasks[@]} for key in ${!failedtasks[@]}
do do
taskid=${failedtasks[key]}
gettaskinfos $taskid gettaskinfos $taskid
faildepends=$( faildepends=$(
Select tasks 'COUNT(*)' <<-EOWhere Select tasks 'COUNT(*)' <<-EOWhere
@ -1511,12 +1503,12 @@ cleaner() {
then then
rm -f "$cleanup" rm -f "$cleanup"
fi fi
unset failedtasks[taskid] unset failedtasks[key]
done done
for taskid in ${finishedtasks[@]} for key in ${!finishedtasks[@]}
do do
taskid=${finishedtasks[key]}
gettaskinfos $taskid gettaskinfos $taskid
Delete tasks <<<"id = $taskid"
if [ -n "$destfilename" ] if [ -n "$destfilename" ]
then then
echo \ echo \
@ -1549,7 +1541,8 @@ cleaner() {
then then
rm -f "$cleanup" rm -f "$cleanup"
fi fi
unset finishedtasks[taskid] Delete tasks <<<"id = $taskid"
unset finishedtasks[key]
done done
} }
@ -1566,9 +1559,9 @@ checkworkers() {
finishedtasks+=($taskid) finishedtasks+=($taskid)
else else
failedtasks+=($taskid) failedtasks+=($taskid)
(( ++ran ))
(( ++failed )) (( ++failed ))
fi fi
unset workertasks[key]
fi fi
done done
} }
@ -2015,8 +2008,6 @@ done
echo 'COMMIT;' >&3 echo 'COMMIT;' >&3
echo -e "\rCreated ${count:-0} tasks for $filecount files (${copies:-0} immediate copies)" echo -e "\rCreated ${count:-0} tasks for $filecount files (${copies:-0} immediate copies)"
masterpid=$$
trap checkworkers USR1 ALRM PIPE
concurrency=$(( maxload / 2 )) concurrency=$(( maxload / 2 ))
(( concurrency )) || concurrency=1 (( concurrency )) || concurrency=1
active=0 active=0
@ -2031,7 +2022,7 @@ taskcount=$count
failed=0 failed=0
while (( ${#workers[@]} )) while (( ${#workers[@]} ))
do do
if read -n 1 -t 1 userinput if read -n 1 -t 0.1 userinput
then then
case $userinput in case $userinput in
'+') '+')
@ -2060,6 +2051,7 @@ do
(( ++concurrency )) (( ++concurrency ))
fi fi
fi fi
checkworkers
cleaner cleaner
master master
if ((taskcount - remaining)) if ((taskcount - remaining))