Main: Add -b to force background even in debug mode
This commit is contained in:
parent
a043f2d794
commit
89b0af3978
1 changed files with 8 additions and 2 deletions
|
@ -624,7 +624,7 @@ signal_init(void)
|
||||||
* Parsing of command-line arguments
|
* 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;
|
static int parse_and_exit;
|
||||||
char *bird_name;
|
char *bird_name;
|
||||||
static char *use_user;
|
static char *use_user;
|
||||||
|
@ -645,6 +645,7 @@ display_help(void)
|
||||||
fprintf(stderr,
|
fprintf(stderr,
|
||||||
"\n"
|
"\n"
|
||||||
"Options: \n"
|
"Options: \n"
|
||||||
|
" -b Run bird in background\n"
|
||||||
" -c <config-file> Use given configuration file instead\n"
|
" -c <config-file> Use given configuration file instead\n"
|
||||||
" of prefix/etc/bird.conf\n"
|
" of prefix/etc/bird.conf\n"
|
||||||
" -d Enable debug messages and run bird in foreground\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)
|
while ((c = getopt(argc, argv, opt_list)) >= 0)
|
||||||
switch (c)
|
switch (c)
|
||||||
{
|
{
|
||||||
|
case 'b':
|
||||||
|
run_in_foreground = 0;
|
||||||
|
break;
|
||||||
case 'c':
|
case 'c':
|
||||||
config_name = optarg;
|
config_name = optarg;
|
||||||
config_changed = 1;
|
config_changed = 1;
|
||||||
break;
|
break;
|
||||||
case 'd':
|
case 'd':
|
||||||
debug_flag |= 1;
|
debug_flag |= 1;
|
||||||
|
run_in_foreground = 1;
|
||||||
break;
|
break;
|
||||||
case 'D':
|
case 'D':
|
||||||
log_init_debug(optarg);
|
log_init_debug(optarg);
|
||||||
debug_flag |= 2;
|
debug_flag |= 2;
|
||||||
|
run_in_foreground = 1;
|
||||||
break;
|
break;
|
||||||
case 'p':
|
case 'p':
|
||||||
parse_and_exit = 1;
|
parse_and_exit = 1;
|
||||||
|
@ -857,7 +863,7 @@ main(int argc, char **argv)
|
||||||
if (parse_and_exit)
|
if (parse_and_exit)
|
||||||
exit(0);
|
exit(0);
|
||||||
|
|
||||||
if (!(debug_flag||run_in_foreground))
|
if (!run_in_foreground)
|
||||||
{
|
{
|
||||||
pid_t pid = fork();
|
pid_t pid = fork();
|
||||||
if (pid < 0)
|
if (pid < 0)
|
||||||
|
|
Loading…
Reference in a new issue