From 4eb7d332502c417248b31b9980f205b6a94eecb9 Mon Sep 17 00:00:00 2001 From: Vincent Riquer Date: Tue, 23 Apr 2013 10:50:18 +0200 Subject: [PATCH] remove obsolete (renamed) files: read all data from sqlite first - prevents deadlock --- atom | 16 ++++++++++++---- lib/copy/copyFiles_action | 1 + 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/atom b/atom index 6cfbbdb..2ca72fe 100755 --- a/atom +++ b/atom @@ -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[@]}" diff --git a/lib/copy/copyFiles_action b/lib/copy/copyFiles_action index 981469d..1caad38 100644 --- a/lib/copy/copyFiles_action +++ b/lib/copy/copyFiles_action @@ -73,4 +73,5 @@ copyFiles_action() { fi fi done + unset count }