summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/common/util.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/common/util.c b/src/common/util.c
index a85e22ae8a..3d20f81049 100644
--- a/src/common/util.c
+++ b/src/common/util.c
@@ -548,7 +548,13 @@ get_uname(void)
}
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);