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

This commit is contained in:
Ondrej Filip 2013-10-05 22:45:08 +02:00
parent e7c2380260
commit 1cd198cf52
2 changed files with 10 additions and 3 deletions

View file

@ -151,6 +151,9 @@ options. The most important ones are:
<tag>-g <m/group/</tag> <tag>-g <m/group/</tag>
use that group ID, see the next section for details. use that group ID, see the next section for details.
<tag>-f</tag>
run bird in foreground.
</descrip> </descrip>
<p>BIRD writes messages about its work to log files or syslog (according to config). <p>BIRD writes messages about its work to log files or syslog (according to config).

View file

@ -601,16 +601,17 @@ signal_init(void)
* Parsing of command-line arguments * 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; static int parse_and_exit;
char *bird_name; char *bird_name;
static char *use_user; static char *use_user;
static char *use_group; static char *use_group;
static int run_in_foreground = 0;
static void static void
usage(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); exit(1);
} }
@ -718,6 +719,9 @@ parse_args(int argc, char **argv)
case 'g': case 'g':
use_group = optarg; use_group = optarg;
break; break;
case 'f':
run_in_foreground = 1;
break;
default: default:
usage(); usage();
} }
@ -777,7 +781,7 @@ main(int argc, char **argv)
if (parse_and_exit) if (parse_and_exit)
exit(0); exit(0);
if (!debug_flag) if (!(debug_flag||run_in_foreground))
{ {
pid_t pid = fork(); pid_t pid = fork();
if (pid < 0) if (pid < 0)