db/update/Editor: add locking method variants

This commit is contained in:
Max Kellermann
2014-01-31 22:17:49 +01:00
parent 04b4f53488
commit 26970579b8
5 changed files with 36 additions and 27 deletions

View File

@@ -107,9 +107,7 @@ UpdateWalk::PurgeDeletedFromDirectory(Directory &directory)
if (directory_exists(*child))
continue;
db_lock();
editor.DeleteDirectory(child);
db_unlock();
editor.LockDeleteDirectory(child);
modified = true;
}
@@ -118,9 +116,7 @@ UpdateWalk::PurgeDeletedFromDirectory(Directory &directory)
directory_for_each_song_safe(song, ns, directory) {
const auto path = map_song_fs(*song);
if (path.IsNull() || !FileExists(path)) {
db_lock();
editor.DeleteSong(directory, song);
db_unlock();
editor.LockDeleteSong(directory, song);
modified = true;
}
@@ -223,11 +219,8 @@ UpdateWalk::UpdateDirectoryChild(Directory &directory,
assert(&directory == subdir->parent);
if (!UpdateDirectory(*subdir, st)) {
db_lock();
editor.DeleteDirectory(subdir);
db_unlock();
}
if (!UpdateDirectory(*subdir, st))
editor.LockDeleteDirectory(subdir);
} else {
FormatDebug(update_domain,
"%s is not a directory, archive or music", name);