From e4a53df7db8a8520c552a718ee7671b986312919 Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Sun, 4 Jan 2009 20:31:23 +0100 Subject: don't exit after --create-db Start the daemon after --create-db. This makes --create-db a flag which discards the old database and starts with a fresh one. --- NEWS | 1 + doc/mpd.1 | 2 +- src/cmdline.c | 2 +- src/database.c | 7 ------- src/main.c | 7 +------ 5 files changed, 4 insertions(+), 15 deletions(-) diff --git a/NEWS b/NEWS index 1b672285d..a8ebb125f 100644 --- a/NEWS +++ b/NEWS @@ -13,6 +13,7 @@ ver 0.15 - (200?/??/??) * fix minor memory leak in decoder_tag() * added Icy-Metadata support * fix cross-fading bug: it used to play some chunks of the new song twice +* --create-db starts the MPD daemon instead of exiting ver 0.14 (2008/12/25) * audio outputs: diff --git a/doc/mpd.1 b/doc/mpd.1 index c1ddf1762..f2fd2286f 100644 --- a/doc/mpd.1 +++ b/doc/mpd.1 @@ -26,7 +26,7 @@ Kill the currently running mpd session. The pid_file parameter must be specified in the config file for this to work. .TP .BI --create-db -Force (re)creation of database and exit. +Force (re)creation of database. .TP .BI --no-create-db Do not create database, even if it doesn't exist. diff --git a/src/cmdline.c b/src/cmdline.c index 35adb2a8d..48c1e87e6 100644 --- a/src/cmdline.c +++ b/src/cmdline.c @@ -86,7 +86,7 @@ void parseOptions(int argc, char **argv, Options *options) { "kill", 0, 0, G_OPTION_ARG_NONE, &options->kill, "kill the currently running mpd session", NULL }, { "create-db", 0, 0, G_OPTION_ARG_NONE, &option_create_db, - "force (re)creation of database and exit", NULL }, + "force (re)creation of database", NULL }, { "no-create-db", 0, 0, G_OPTION_ARG_NONE, &option_no_create_db, "don't create database, even if it doesn't exist", NULL }, { "no-daemon", 0, 0, G_OPTION_ARG_NONE, &option_no_daemon, diff --git a/src/database.c b/src/database.c index 9eadd17f7..42dd02219 100644 --- a/src/database.c +++ b/src/database.c @@ -57,13 +57,6 @@ db_init(void) ret = directory_update_init(NULL); if (ret == 0) g_error("directory update failed"); - - do { - event_pipe_wait(); - } while (isUpdatingDB()); - - stats.numberOfSongs = countSongsIn(NULL); - stats.dbPlayTime = sumSongTimesIn(NULL); } void diff --git a/src/main.c b/src/main.c index c44b6df97..d0573e9b3 100644 --- a/src/main.c +++ b/src/main.c @@ -135,10 +135,6 @@ static void openDB(Options * options, char *argv0) if (db_check() < 0) exit(EXIT_FAILURE); db_init(); - if (db_save() < 0) - exit(EXIT_FAILURE); - if (options->createDB) - exit(EXIT_SUCCESS); } } @@ -238,8 +234,7 @@ int main(int argc, char *argv[]) tag_lib_init(); log_init(options.verbose, options.stdOutput); - if (options.createDB <= 0) - listenOnPort(); + listenOnPort(); changeToUser(); -- cgit v1.2.3