X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~mdw/git/fwd/blobdiff_plain/c1e028bec788f2ff2525ea7c674a766d4fa6c273..d935f68b3915cbf8ce604b7ead06210ce7d933e0:/fwd.c diff --git a/fwd.c b/fwd.c index c095ba2..df5c821 100644 --- a/fwd.c +++ b/fwd.c @@ -241,7 +241,7 @@ void fw_log(time_t t, const char *fmt, ...) if (flags & FW_QUIET) return; - if (t == -1) + if (t == NOW) t = time(0); tm = localtime(&t); DENSURE(&d, 64); @@ -305,7 +305,7 @@ static void fw_tidy(int n, void *p) default: abort(); } - fw_log(-1, "closing down gracefully on %s", sn); + fw_log(NOW, "closing down gracefully on %s", sn); source_killall(); } @@ -327,7 +327,7 @@ static void fw_die(int n, void *p) default: abort(); } - fw_log(-1, "closing down abruptly on %s", sn); + fw_log(NOW, "closing down abruptly on %s", sn); source_killall(); endpt_killall(); } @@ -350,20 +350,20 @@ static void fw_reload(int n, void *p) assert(n == SIGHUP); if (!conffiles) { - fw_log(-1, "no configuration files to reload: ignoring SIGHUP"); + fw_log(NOW, "no configuration files to reload: ignoring SIGHUP"); return; } - fw_log(-1, "reloading configuration files..."); + fw_log(NOW, "reloading configuration files..."); source_killall(); scan_create(&sc); for (cf = conffiles; cf; cf = cf->next) { if ((fp = fopen(cf->name, "r")) == 0) - fw_log(-1, "error loading `%s': %s", cf->name, strerror(errno)); + fw_log(NOW, "error loading `%s': %s", cf->name, strerror(errno)); else scan_add(&sc, scan_file(fp, cf->name, 0)); } parse(&sc); - fw_log(-1, "... reload completed OK"); + fw_log(NOW, "... reload completed OK"); } /*----- Startup and options parsing ---------------------------------------*/ @@ -650,7 +650,8 @@ int main(int argc, char *argv[]) _exit(0); close(0); close(1); close(2); - chdir("/"); + if (chdir("/")) + die(1, "couldn't change to root directory: %s", strerror(errno)); setsid(); kid = fork(); @@ -701,10 +702,10 @@ int main(int argc, char *argv[]) if (!sel_select(sel)) selerr = 0; else if (errno != EINTR && errno != EAGAIN) { - fw_log(-1, "error from select: %s", strerror(errno)); + fw_log(NOW, "error from select: %s", strerror(errno)); selerr++; if (selerr > 8) { - fw_log(-1, "too many consecutive select errors: bailing out"); + fw_log(NOW, "too many consecutive select errors: bailing out"); exit(EXIT_FAILURE); } }