remove obsolete (renamed) files: read all data from sqlite first - prevents deadlock

This commit is contained in:
Vincent Riquer 2013-04-23 10:50:18 +02:00
parent 619a96520e
commit 4eb7d33250
2 changed files with 13 additions and 4 deletions

16
atom
View File

@ -776,9 +776,16 @@ echo '
SELECT "AtOM:NoMoreFiles";
' >&3
echo "Removing obsolete files... "
echo -n 'Removing obsolete files... '
lines=()
read -u4 line
while [[ $line != AtOM:NoMoreFiles ]]
do
lines+=("$line")
read -u4 line
done
echo 'BEGIN TRANSACTION;' >&3
for line in "${lines[@]}"
do
id=${line%%|*}
filename=${line#*|}
@ -787,10 +794,11 @@ do
rm -f "$filename"
fi
Update destination_files old_filename NULL <<<"id = $id"
progressSpin
read -u4 line
(( count++ ))
printf '\b\b\b\b%3i%%' $(( (100 * count) / ${#lines[@]} ))
done
echo $'\r'"Removed ${count:-0} obsolete files."
echo 'COMMIT;' >&3
echo -e "\rRemoved ${count:-0} obsolete files.\033[K"
echo "Purging empty directories."
for path in "${destinationpath[@]}"

View File

@ -73,4 +73,5 @@ copyFiles_action() {
fi
fi
done
unset count
}