From 7aa6305280f9ce045820ce7ded083ec933fdaee9 Mon Sep 17 00:00:00 2001 From: nohar Date: Sat, 21 Oct 2006 10:36:56 +0000 Subject: [PATCH] proper daemonize --- src/bip.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/bip.c b/src/bip.c index 141a59e..f65b7cb 100644 --- a/src/bip.c +++ b/src/bip.c @@ -162,11 +162,22 @@ static pid_t daemonize(void) case 0: break; default: - exit(0); + _exit(0); } + if (setsid() < 0) fatal("setsid() failed"); + switch (fork()) { + case -1: + fatal("Fork failed"); + break; + case 0: + break; + default: + _exit(0); + } + if (conf_log) { snprintf(buf, 4095, "%s/bip.log", conf_log_root); FILE *f = fopen(buf, "a");