]> git.ipfire.org Git - thirdparty/bird.git/commitdiff
Main: Add -b to force background even in debug mode
authorJan Maria Matejka <mq@ucw.cz>
Tue, 28 Aug 2018 14:45:50 +0000 (16:45 +0200)
committerJan Maria Matejka <mq@ucw.cz>
Tue, 28 Aug 2018 14:48:52 +0000 (16:48 +0200)
sysdep/unix/main.c

index ea1476e7ad91f5ed9cd1175e8e02885498d02a49..0912a9c5369a0568ee395800a48f8b825c604ea9 100644 (file)
@@ -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 <config-file>     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)