Repository : ssh://git@diktynna/batmand
On branch : main
commit 9a2237ba89597d3203e737daf0fcb916d08417ff Author: Sven Eckelmann sven@narfation.org Date: Sun Dec 1 14:39:00 2013 +0100
Allow one to disable forking to background in debug_mode 0
9a2237ba89597d3203e737daf0fcb916d08417ff posix/init.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-)
diff --git a/posix/init.c b/posix/init.c index cb710f2..4533cdc 100644 --- a/posix/init.c +++ b/posix/init.c @@ -51,6 +51,7 @@ #include "../types.h"
int8_t stop; +int no_detach;
static void create_routing_pipe(void) @@ -124,6 +125,7 @@ void apply_init_args( int argc, char *argv[] ) { {"purge-timeout", required_argument, 0, 'q'}, {"disable-aggregation", no_argument, 0, 'x'}, {"disable-client-nat", no_argument, 0, 'z'}, + {"no-detach", no_argument, 0, 'D'}, {0, 0, 0, 0} };
@@ -131,7 +133,7 @@ void apply_init_args( int argc, char *argv[] ) { stop = 0; prog_name = argv[0];
- while ( ( optchar = getopt_long( argc, argv, "a:A:bcd:hHio:g:p:r:s:vV", long_options, &option_index ) ) != -1 ) { + while ( ( optchar = getopt_long( argc, argv, "a:A:bcd:hHio:g:p:r:s:vVD", long_options, &option_index ) ) != -1 ) {
switch ( optchar ) {
@@ -343,6 +345,11 @@ void apply_init_args( int argc, char *argv[] ) { found_args++; break;
+ case 'D': + no_detach = 1; + found_args++; + break; + case 'h': default: usage(); @@ -501,12 +508,10 @@ void apply_init_args( int argc, char *argv[] ) { /* daemonize */ if (debug_level == 0) {
- if (daemon(0, 0) < 0) { - + if (!no_detach && daemon(0, 0) < 0) { printf("Error - can't fork to background: %s\n", strerror(errno)); restore_defaults(); exit(EXIT_FAILURE); - }
openlog("batmand", LOG_PID, LOG_DAEMON);