int attribute((unused)) sig,
void attribute((unused)) *u) {
info("received SIGHUP");
- reconfigure(ev, 1);
+ reconfigure(ev, RECONFIGURE_RELOADING);
return 0;
}
}
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");
/* 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);
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 */
if(ev_signal(ev, SIGHUP, handle_sighup, 0)) fatal(0, "ev_signal failed");
/* exit on SIGINT/SIGTERM */