aboutsummaryrefslogtreecommitdiffstats
path: root/src/database.c
diff options
context:
space:
mode:
authorMax Kellermann <max@duempel.org>2008-10-09 19:11:54 +0200
committerEric Wong <normalperson@yhbt.net>2008-10-11 19:21:50 -0700
commit6fd08bc8fad5d6c4be37ce751d53ef80b756b292 (patch)
tree11de3cf6fb40a9af6a1d0e43180293bde6ad5cec /src/database.c
parent1f70121c5604be45e81c5a07d59efea2aaa1597b (diff)
downloadmpd-6fd08bc8fad5d6c4be37ce751d53ef80b756b292.tar.gz
mpd-6fd08bc8fad5d6c4be37ce751d53ef80b756b292.tar.xz
mpd-6fd08bc8fad5d6c4be37ce751d53ef80b756b292.zip
update: don't export updateDirectory()
If the user requests database update during startup, call directory_update_init(). This should be changed to fully asynchronous update later. For this to work, main_notify has to be initialized before db_init().
Diffstat (limited to 'src/database.c')
-rw-r--r--src/database.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/database.c b/src/database.c
index 11de15bcc..3a1667bb6 100644
--- a/src/database.c
+++ b/src/database.c
@@ -39,7 +39,15 @@ static time_t directory_dbModTime;
void db_init(void)
{
music_root = directory_new("", NULL);
- updateDirectory(music_root);
+
+ if (directory_update_init(NULL) < 0)
+ FATAL("directory update failed\n");
+
+ do {
+ my_usleep(100000);
+ reap_update_task();
+ } while (isUpdatingDB());
+
stats.numberOfSongs = countSongsIn(NULL);
stats.dbPlayTime = sumSongTimesIn(NULL);
}