Added -nofork option
authorAndreas Tonnesen <andreto@olsr.org>
Thu, 10 Mar 2005 18:11:27 +0000 (18:11 +0000)
committerAndreas Tonnesen <andreto@olsr.org>
Thu, 10 Mar 2005 18:11:27 +0000 (18:11 +0000)
CHANGELOG
src/cfgparser/olsrd_conf.c
src/main.c
src/olsr_cfg.h

index f20197c..dd2f395 100644 (file)
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,5 +1,5 @@
 This file states changes as of version 0.2.4:
-$Id: CHANGELOG,v 1.37 2005/03/09 23:46:44 tlopatic Exp $
+$Id: CHANGELOG,v 1.38 2005/03/10 18:11:27 kattemat Exp $
 
 0.4.9 ---------------------------------------------------------------------
 
@@ -99,7 +99,7 @@ IPV6 SOCKETS
 The socket option IPV6_V6ONLY is now set on IPv6 sockets in linux.
 This means that olsrd will no longer receive IPv4 traffic when
 running in IPv6 mode.
-this should enable users to actually run one olsrd instance using
+This should enable users to actually run one olsrd instance using
 IPv6 and one using IPv4 at the same time :)
 
 PLUGINS
@@ -117,6 +117,7 @@ OTHER UPDATES
 - Broadcastflag is not checked on interface if fixed broadcast is
   set in config.
 - Removed Linux link layer code as this was not really in use.
+- Added -nofork command line option
 
 BUGFIXES
 
index 600d231..40c9c74 100644 (file)
@@ -36,7 +36,7 @@
  * to the project. For more information see the website or contact
  * the copyright holders.
  *
- * $Id: olsrd_conf.c,v 1.34 2005/02/25 16:03:19 kattemat Exp $
+ * $Id: olsrd_conf.c,v 1.35 2005/03/10 18:09:32 kattemat Exp $
  */
 
 
@@ -460,6 +460,7 @@ set_default_cnf(struct olsrd_config *cnf)
     memset(cnf, 0, sizeof(struct olsrd_config));
     
     cnf->debug_level = DEF_DEBUGLVL;
+    cnf->no_fork = OLSR_FALSE;
     cnf->ip_version  = AF_INET;
     cnf->allow_no_interfaces = DEF_ALLOW_NO_INTS;
     cnf->tos = DEF_TOS;
index 1a7934c..0e668e5 100644 (file)
@@ -37,7 +37,7 @@
  * to the project. For more information see the website or contact
  * the copyright holders.
  *
- * $Id: main.c,v 1.68 2005/02/27 18:39:43 kattemat Exp $
+ * $Id: main.c,v 1.69 2005/03/10 18:09:32 kattemat Exp $
  */
 
 #include <unistd.h>
@@ -342,7 +342,7 @@ main(int argc, char *argv[])
 
   /* daemon mode */
 #ifndef WIN32
-  if (olsr_cnf->debug_level == 0)
+  if((olsr_cnf->debug_level == 0) && (!olsr_cnf->no_fork))
     {
       printf("%s detattching from the current process...\n", SOFTWARE_VERSION);
       if (fork() != 0)
@@ -500,7 +500,7 @@ print_usage()
   fprintf(stderr, "  [-bcast <broadcastaddr>] [-ipc] [-dispin] [-dispout] [-delgw]\n");
   fprintf(stderr, "  [-hint <hello interval (secs)>] [-tcint <tc interval (secs)>]\n");
   fprintf(stderr, "  [-midint <mid interval (secs)>] [-hnaint <hna interval (secs)>]\n");
-  fprintf(stderr, "  [-T <Polling Rate (secs)>]\n"); 
+  fprintf(stderr, "  [-T <Polling Rate (secs)>] [-nofork]\n"); 
 
 }
 
@@ -745,6 +745,13 @@ olsr_process_arguments(int argc, char *argv[],
          continue;
        }
 
+
+      if (strcmp(*argv, "-nofork") == 0) 
+       {
+         cnf->no_fork = OLSR_TRUE;
+         continue;
+       }
+
       return -1;
     }
   return 0;
index 9c191c4..a8e0db9 100644 (file)
@@ -36,7 +36,7 @@
  * to the project. For more information see the website or contact
  * the copyright holders.
  *
- * $Id: olsr_cfg.h,v 1.21 2005/02/25 22:48:15 kattemat Exp $
+ * $Id: olsr_cfg.h,v 1.22 2005/03/10 18:09:32 kattemat Exp $
  */
 
 
@@ -187,6 +187,7 @@ struct ipc_net
 struct olsrd_config
 {
   int                      debug_level;
+  olsr_bool                no_fork;
   int                      ip_version;
   olsr_bool                allow_no_interfaces;
   olsr_u16_t               tos;