int attribute((unused)) sig,
void attribute((unused)) *u) {
info("received SIGHUP");
- reconfigure(ev, 1);
+ reconfigure(ev, RECONFIGURE_RELOADING);
return 0;
}
/* 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;
/* 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 */