chiark / gitweb /
Always take out a server lock.
[disorder] / server / disorderd.c
index ab6221a2c79b20cb55973a9ae6180c0c38729fc6..22037393eeeb38bb6f8380797c0939a23ea8b5e4 100644 (file)
@@ -244,7 +244,7 @@ int main(int argc, char **argv) {
   /* make sure we're not root, whatever the config says */
   if(getuid() == 0 || geteuid() == 0) fatal(0, "do not run as root");
   /* open a lockfile - we only want one copy of the server to run at once. */
-  if(config->lock) {
+  if(1) {
     const char *lockfile;
     int lockfd;
     struct flock lock;
@@ -263,7 +263,15 @@ int main(int argc, char **argv) {
   trackdb_init(TRACKDB_NORMAL_RECOVER|TRACKDB_MAY_CREATE);
   trackdb_master(ev);
   /* install new config (calls trackdb_open()) */
-  reconfigure(ev, 0);
+  if(reconfigure(ev, 0))
+    fatal(0, "failed to read configuration");
+  /* Open the database */
+  trackdb_open(TRACKDB_CAN_UPGRADE);
+  /* load the queue and recently-played list */
+  queue_read();
+  recent_read();
+  /* Arrange timeouts for schedule actions */
+  schedule_init(ev);
   /* pull in old users */
   trackdb_old_users();
   /* create a root login */