aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMax Kellermann <max@duempel.org>2009-01-04 20:31:23 +0100
committerMax Kellermann <max@duempel.org>2009-01-04 20:31:23 +0100
commite4a53df7db8a8520c552a718ee7671b986312919 (patch)
tree20782438e53e3d9487917ef2695d3c7bcdb7c65f
parent6fb8c5493910097636d2122cb57894375c16901d (diff)
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.
-rw-r--r--NEWS1
-rw-r--r--doc/mpd.12
-rw-r--r--src/cmdline.c2
-rw-r--r--src/database.c7
-rw-r--r--src/main.c7
5 files changed, 4 insertions, 15 deletions
diff --git a/NEWS b/NEWS
index 1b672285..a8ebb125 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 c1ddf176..f2fd2286 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 35adb2a8..48c1e87e 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 9eadd17f..42dd0221 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 c44b6df9..d0573e9b 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();