+static void logfile(const char *name)
+{
+ if (logfp)
+ fclose(logfp);
+ if ((logfp = fopen(name, "a")) == 0) {
+ die(EXIT_FAILURE, "error opening logfile `%s': %s",
+ name, strerror(errno));
+ }
+ setvbuf(logfp, 0, _IOLBF, BUFSIZ);
+}
+
+static void sighup(int sig, void *v)
+{
+ logfile(logname);
+}
+