X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~mdw/git/disorder/blobdiff_plain/5df73aebf27f6c3b57a91ecfd504fa6ee367d20a..bea6f6d52db537bf2c0dbe826aedcddaa8de482c:/server/disorderd.c diff --git a/server/disorderd.c b/server/disorderd.c index f7bc378..2fd317d 100644 --- a/server/disorderd.c +++ b/server/disorderd.c @@ -1,6 +1,6 @@ /* * This file is part of DisOrder. - * Copyright (C) 2004, 2005, 2006, 2007 Richard Kettlewell + * Copyright (C) 2004-2008 Richard Kettlewell * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -57,6 +57,7 @@ #include "mixer.h" #include "eventlog.h" #include "printf.h" +#include "version.h" static ev_source *ev; @@ -93,13 +94,6 @@ static void help(void) { exit(0); } -/* display version number and terminate */ -static void version(void) { - xprintf("%s", disorder_version_string); - xfclose(stdout); - exit(0); -} - /* SIGHUP callback */ static int handle_sighup(ev_source attribute((unused)) *ev_, int attribute((unused)) sig, @@ -128,7 +122,7 @@ static int handle_sigterm(ev_source attribute((unused)) *ev_, static int rescan_again(ev_source *ev_, const struct timeval attribute((unused)) *now, void attribute((unused)) *u) { - trackdb_rescan(ev_); + trackdb_rescan(ev_, 1/*check*/); rescan_after(86400); return 0; } @@ -217,7 +211,7 @@ int main(int argc, char **argv) { while((n = getopt_long(argc, argv, "hVc:dfP:Ns", options, 0)) >= 0) { switch(n) { case 'h': help(); - case 'V': version(); + case 'V': version("disorderd"); case 'c': configfile = optarg; break; case 'd': debugging = 1; break; case 'f': background = 0; break; @@ -290,12 +284,9 @@ int main(int argc, char **argv) { if(ev_signal(ev, SIGTERM, handle_sigterm, 0)) fatal(0, "ev_signal failed"); /* ignore SIGPIPE */ signal(SIGPIPE, SIG_IGN); - /* start a rescan straight away if this is a new installation */ - if(!trackdb_existing_database) { - trackdb_rescan(0/*ev*/); - /* No ev -> the rescan will block. Since we called reconfigure() already - * any clients will also be forced to block. */ - } + /* Start a rescan straight away */ + trackdb_rescan(ev, 1/*check*/); + /* We'll rescan again after a day */ rescan_after(86400); /* periodically tidy up the database */ dbgc_after(60);