X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~mdw/git/disorder/blobdiff_plain/460b9539a7c15580e41a71bbc0f47ae776238915..5df73aebf27f6c3b57a91ecfd504fa6ee367d20a:/server/state.c diff --git a/server/state.c b/server/state.c index 60fea26..d6b6699 100644 --- a/server/state.c +++ b/server/state.c @@ -36,11 +36,13 @@ #include "event.h" #include "play.h" +#include "rights.h" #include "trackdb.h" #include "state.h" #include "configuration.h" #include "log.h" #include "queue.h" +#include "server-queue.h" #include "server.h" #include "printf.h" #include "addr.h" @@ -56,7 +58,7 @@ void quit(ev_source *ev) { trackdb_close(); trackdb_deinit(); info("terminating"); - _exit(0); + exit(0); } static void reset_socket(ev_source *ev) { @@ -143,15 +145,17 @@ int reconfigure(ev_source *ev, int reload) { if(reload) { need_another_rescan = trackdb_rescan_cancel(); trackdb_close(); - if(config_read()) + if(config_read(1)) ret = -1; else { /* Tell the speaker it needs to reload its config too. */ 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); if(!ret) { @@ -168,4 +172,3 @@ c-basic-offset:2 comment-column:40 End: */ -/* arch-tag:94e23a75c2ebdf8a11e17ed7b0fd8cb6 */