From 18d19a287315b950a6cef6051f8d4e844e37c6ba Mon Sep 17 00:00:00 2001 From: "/C=EU/ST=EU/CN=Pablo Neira Ayuso/emailAddress=pablo@netfilter.org" Date: Sat, 5 Jan 2008 14:37:07 +0000 Subject: daemonize conntrackd after initialization --- src/main.c | 28 ++++++++++++++++------------ 1 file changed, 16 insertions(+), 12 deletions(-) (limited to 'src/main.c') diff --git a/src/main.c b/src/main.c index c8b1074..3cf44ba 100644 --- a/src/main.c +++ b/src/main.c @@ -270,6 +270,18 @@ int main(int argc, char *argv[]) } close(ret); + /* + * initialization process + */ + + if (init() == -1) { + close_log(); + fprintf(stderr, "ERROR: conntrackd cannot start, please " + "check the logfile for more info\n"); + unlink(CONFIG(lockfile)); + exit(EXIT_FAILURE); + } + /* Daemonize conntrackd */ if (type == DAEMON) { pid_t pid, sid; @@ -287,22 +299,14 @@ int main(int argc, char *argv[]) exit(EXIT_FAILURE); } + close(STDIN_FILENO); + close(STDOUT_FILENO); + close(STDERR_FILENO); + dlog(STATE(log), LOG_NOTICE, "-- starting in daemon mode --"); } else dlog(STATE(log), LOG_NOTICE, "-- starting in console mode --"); - /* - * initialization process - */ - - if (init() == -1) { - close_log(); - fprintf(stderr, "ERROR: conntrackd cannot start, please " - "check the logfile for more info\n"); - unlink(CONFIG(lockfile)); - exit(EXIT_FAILURE); - } - /* * run main process */ -- cgit v1.2.3