From: Jan Maria Matejka Date: Tue, 28 Aug 2018 14:45:50 +0000 (+0200) Subject: Main: Add -b to force background even in debug mode X-Git-Tag: v2.0.3~55 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=89b0af3978caf15e1478922a8d9d4f7e38145a61;p=thirdparty%2Fbird.git Main: Add -b to force background even in debug mode --- diff --git a/sysdep/unix/main.c b/sysdep/unix/main.c index ea1476e7a..0912a9c53 100644 --- a/sysdep/unix/main.c +++ b/sysdep/unix/main.c @@ -624,7 +624,7 @@ signal_init(void) * Parsing of command-line arguments */ -static char *opt_list = "c:dD:ps:P:u:g:flRh"; +static char *opt_list = "bc:dD:ps:P:u:g:flRh"; static int parse_and_exit; char *bird_name; static char *use_user; @@ -645,6 +645,7 @@ display_help(void) fprintf(stderr, "\n" "Options: \n" + " -b Run bird in background\n" " -c Use given configuration file instead\n" " of prefix/etc/bird.conf\n" " -d Enable debug messages and run bird in foreground\n" @@ -749,16 +750,21 @@ parse_args(int argc, char **argv) while ((c = getopt(argc, argv, opt_list)) >= 0) switch (c) { + case 'b': + run_in_foreground = 0; + break; case 'c': config_name = optarg; config_changed = 1; break; case 'd': debug_flag |= 1; + run_in_foreground = 1; break; case 'D': log_init_debug(optarg); debug_flag |= 2; + run_in_foreground = 1; break; case 'p': parse_and_exit = 1; @@ -857,7 +863,7 @@ main(int argc, char **argv) if (parse_and_exit) exit(0); - if (!(debug_flag||run_in_foreground)) + if (!run_in_foreground) { pid_t pid = fork(); if (pid < 0)