diff options
author | Max Kellermann <max@duempel.org> | 2012-01-31 22:12:14 +0100 |
---|---|---|
committer | Max Kellermann <max@duempel.org> | 2012-02-02 18:06:33 +0100 |
commit | ef5cf40fa6d3e2f50ad916be8e5bd99affe7d2e3 (patch) | |
tree | bffd4ea35f30f96e8dc8d1ac74184bd4dab5d5d6 /src/db_save.c | |
parent | 837bd79b20d4b9b8525a42999a9d1911f8980aa4 (diff) | |
download | mpd-ef5cf40fa6d3e2f50ad916be8e5bd99affe7d2e3.tar.gz mpd-ef5cf40fa6d3e2f50ad916be8e5bd99affe7d2e3.tar.xz mpd-ef5cf40fa6d3e2f50ad916be8e5bd99affe7d2e3.zip |
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.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/db_save.c b/src/db_save.c index 00967f4f2..4af9d58b8 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; |