aboutsummaryrefslogtreecommitdiff
path: root/src/db_save.c
diff options
context:
space:
mode:
authorMax Kellermann <max@duempel.org>2012-01-31 22:12:14 +0100
committerMax Kellermann <max@duempel.org>2012-02-02 18:06:33 +0100
commitef5cf40fa6d3e2f50ad916be8e5bd99affe7d2e3 (patch)
treebffd4ea35f30f96e8dc8d1ac74184bd4dab5d5d6 /src/db_save.c
parent837bd79b20d4b9b8525a42999a9d1911f8980aa4 (diff)
directory: require the caller to lock the db_mutex
Reduce the number of lock/unlock cycles, and make database handling safer.
Diffstat (limited to 'src/db_save.c')
-rw-r--r--src/db_save.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/db_save.c b/src/db_save.c
index 00967f4f..4af9d58b 100644
--- a/src/db_save.c
+++ b/src/db_save.c
@@ -19,6 +19,7 @@
#include "config.h"
#include "db_save.h"
+#include "db_lock.h"
#include "directory.h"
#include "directory_save.h"
#include "song.h"
@@ -169,7 +170,9 @@ db_load_internal(FILE *fp, struct directory *music_root, GError **error)
g_debug("reading DB");
+ db_lock();
success = directory_load(fp, music_root, buffer, error);
+ db_unlock();
g_string_free(buffer, true);
return success;