diff --git a/sysdep/unix/main.c b/sysdep/unix/main.c index 516c4acb..242cff0c 100644 --- a/sysdep/unix/main.c +++ b/sysdep/unix/main.c @@ -337,7 +337,12 @@ signal_init(void) */ static char *opt_list = "c:dD:s:"; -static int debug_flag = 1; /* FIXME: Turn off for production use */ + +#ifdef DEBUGGING +static int debug_flag = 1; +#else +static int debug_flag = 0; +#endif static void usage(void) @@ -406,6 +411,16 @@ main(int argc, char **argv) read_config(); + if (!debug_flag) + { + pid_t pid = fork(); + if (pid < 0) + die("fork: %m"); + if (!pid) + return 0; + setsid(); + } + signal_init(); cli_init_unix();