summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sysdep/unix/main.c17
1 files changed, 16 insertions, 1 deletions
diff --git a/sysdep/unix/main.c b/sysdep/unix/main.c
index 516c4ac..242cff0 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();