db/DatabaseLock: add class ScopeDatabaseUnlock

This commit is contained in:
Max Kellermann
2015-12-15 23:24:34 +01:00
parent e31f0b8b0c
commit c11345c4d9
3 changed files with 22 additions and 11 deletions

View File

@@ -232,14 +232,12 @@ Directory::Walk(bool recursive, const SongFilter *filter,
/* TODO: eliminate this unlock/lock; it is necessary
because the child's SimpleDatabasePlugin::Visit()
call will lock it again */
db_unlock();
bool result = WalkMount(GetPath(), *mounted_database,
recursive, filter,
visit_directory, visit_song,
visit_playlist,
error);
db_lock();
return result;
const ScopeDatabaseUnlock unlock;
return WalkMount(GetPath(), *mounted_database,
recursive, filter,
visit_directory, visit_song,
visit_playlist,
error);
}
if (visit_song) {