X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~mdw/git/disorder/blobdiff_plain/f08c0859513712f805da09ae1e1bcefb436b4096..601b42c1d28069afd8a8ba694baefb76e6ea5171:/server/state.c diff --git a/server/state.c b/server/state.c index 4ff2654..e952556 100644 --- a/server/state.c +++ b/server/state.c @@ -1,6 +1,6 @@ /* * This file is part of DisOrder. - * Copyright (C) 2004, 2005 Richard Kettlewell + * Copyright (C) 2004, 2005, 2007, 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 @@ -36,6 +36,7 @@ #include "event.h" #include "play.h" +#include "rights.h" #include "trackdb.h" #include "state.h" #include "configuration.h" @@ -53,11 +54,12 @@ static struct addrinfo *current_listen_addrinfo; static int current_listen_fd; void quit(ev_source *ev) { + info("shutting down..."); quitting(ev); trackdb_close(); trackdb_deinit(); - info("terminating"); - _exit(0); + info("exiting"); + exit(0); } static void reset_socket(ev_source *ev) { @@ -151,10 +153,12 @@ int reconfigure(ev_source *ev, int reload) { speaker_reload(); info("%s: installed new configuration", configfile); } - } - trackdb_open(); + trackdb_open(TRACKDB_NO_UPGRADE); + } else + /* We only allow for upgrade at startup */ + trackdb_open(TRACKDB_CAN_UPGRADE); if(need_another_rescan) - trackdb_rescan(ev); + trackdb_rescan(ev, 1/*check*/); if(!ret) { queue_read(); recent_read();