Commit 1cd198cf authored by Ondrej Filip's avatar Ondrej Filip
Browse files

Flag -f "run in foreground" added as requested by a package maintainter.

parent e7c23802
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -151,6 +151,9 @@ options. The most important ones are:

	<tag>-g <m/group/</tag>
	use that group ID, see the next section for details.

	<tag>-f</tag>
	run bird in foreground.
</descrip>

<p>BIRD writes messages about its work to log files or syslog (according to config).
+7 −3
Original line number Diff line number Diff line
@@ -601,16 +601,17 @@ signal_init(void)
 *	Parsing of command-line arguments
 */

static char *opt_list = "c:dD:ps:P:u:g:";
static char *opt_list = "c:dD:ps:P:u:g:f";
static int parse_and_exit;
char *bird_name;
static char *use_user;
static char *use_group;
static int run_in_foreground = 0;

static void
usage(void)
{
  fprintf(stderr, "Usage: %s [-c <config-file>] [-d] [-D <debug-file>] [-p] [-s <control-socket>] [-P <pid-file>] [-u <user>] [-g <group>]\n", bird_name);
  fprintf(stderr, "Usage: %s [-c <config-file>] [-d] [-D <debug-file>] [-p] [-s <control-socket>] [-P <pid-file>] [-u <user>] [-g <group>] [-f]\n", bird_name);
  exit(1);
}

@@ -718,6 +719,9 @@ parse_args(int argc, char **argv)
      case 'g':
	use_group = optarg;
	break;
      case 'f':
	run_in_foreground = 1;
	break;
      default:
	usage();
      }
@@ -777,7 +781,7 @@ main(int argc, char **argv)
  if (parse_and_exit)
    exit(0);

  if (!debug_flag)
  if (!(debug_flag||run_in_foreground))
    {
      pid_t pid = fork();
      if (pid < 0)