Repository : ssh://git@diktynna/batmand
On branch : main
---------------------------------------------------------------
commit 9a2237ba89597d3203e737daf0fcb916d08417ff
Author: Sven Eckelmann <sven(a)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);