chiark / gitweb /
Merge playlist support.
[disorder] / server / disorderd.c
index a4af66b1a2fa5a6cc1026e5d61b1fd1001026e40..ab88190bfd6577b57c44f8bf73df064196a03f85 100644 (file)
@@ -58,7 +58,7 @@ static int handle_sighup(ev_source attribute((unused)) *ev_,
                         int attribute((unused)) sig,
                         void attribute((unused)) *u) {
   info("received SIGHUP");
-  reconfigure(ev, 1);
+  reconfigure(ev, RECONFIGURE_RELOADING);
   return 0;
 }
 
@@ -207,7 +207,7 @@ int main(int argc, char **argv) {
   }
   info("process ID %lu", (unsigned long)getpid());
   fix_path();
-  srand(time(0));                      /* don't start the same every time */
+  srand(xtime(0));                     /* don't start the same every time */
   /* gcrypt initialization */
   if(!gcry_check_version(NULL))
     disorder_fatal(0, "gcry_check_version failed");
@@ -262,8 +262,8 @@ int main(int argc, char **argv) {
   /* initialize database environment */
   trackdb_init(TRACKDB_NORMAL_RECOVER|TRACKDB_MAY_CREATE);
   trackdb_master(ev);
-  /* install new config (calls trackdb_open()) */
-  if(reconfigure(ev, 0))
+  /* install new config; don't create socket */
+  if(reconfigure(ev, RECONFIGURE_FIRST))
     fatal(0, "failed to read configuration");
   /* Open the database */
   trackdb_open(TRACKDB_CAN_UPGRADE);
@@ -276,6 +276,8 @@ int main(int argc, char **argv) {
   trackdb_old_users();
   /* create a root login */
   trackdb_create_root();
+  /* create sockets */
+  reset_sockets(ev);
   /* check for change to database parameters */
   dbparams_check();
   /* re-read config if we receive a SIGHUP */