AC_CHECK_HEADERS(stdint.h sys/types.h inttypes.h sys/wait.h netinet/in.h arpa/inet.h)
-AC_CHECK_FUNCS(gettimeofday ftime socketpair uname)
+AC_CHECK_FUNCS(gettimeofday ftime socketpair uname daemon)
dnl In case we aren't given a working stdint.h, we'll need to grow our own.
dnl Watch out.
}
void daemonize(void) {
-#ifndef MS_WINDOWS
+#ifdef HAVE_DAEMON
+ if (daemon(0 /* chdir to / */,
+ 0 /* Redirect std* to /dev/null */)) {
+ log_fn(LOG_ERR, "Daemon returned an error: %s", strerror(errno));
+ exit(1);
+ }
+#elif ! defined(MS_WINDOWS)
/* Fork; parent exits. */
if (fork())
exit(0);