Move Logging initialization just after config parsing
authorHenning Rogge <henning.rogge@fkie.fraunhofer.de>
Fri, 22 Oct 2010 08:15:11 +0000 (10:15 +0200)
committerHenning Rogge <henning.rogge@fkie.fraunhofer.de>
Fri, 22 Oct 2010 08:15:11 +0000 (10:15 +0200)
src/bsd/apm.c
src/linux/apm.c
src/main.c
src/olsr.c

index 380bf56..39789c5 100644 (file)
@@ -45,7 +45,7 @@
 #include <string.h>
 
 int
-apm_init(void)
+os_apm_init(void)
 {
   return -1;
 }
index 64ffcd2..0e15a7f 100644 (file)
  * Acpi-Power Enlightenment epplet
  */
 
-#include "os_apm.h"
 #include "defs.h"
 #include "olsr_logging.h"
 #include "linux/linux_apm.h"
+#include "os_apm.h"
 
 #include <stdio.h>
 #include <string.h>
index 9313df6..fe3a00f 100644 (file)
@@ -62,6 +62,7 @@
 #include "olsr_comport.h"
 #include "neighbor_table.h"
 #include "olsr_logging.h"
+#include "os_apm.h"
 #include "os_net.h"
 #include "os_kernel_routes.h"
 #include "os_time.h"
@@ -192,7 +193,23 @@ main(int argc, char *argv[])
   case CFG_OK:
     /* Continue */
     break;
-  }                             /* switch */
+  }
+
+  /* Set avl tree comparator */
+  if (olsr_cnf->ipsize == 4) {
+    avl_comp_default = avl_comp_ipv4;
+    avl_comp_addr_origin_default = avl_comp_ipv4_addr_origin;
+    avl_comp_prefix_default = avl_comp_ipv4_prefix;
+    avl_comp_prefix_origin_default = avl_comp_ipv4_prefix_origin;
+  } else {
+    avl_comp_default = avl_comp_ipv6;
+    avl_comp_addr_origin_default = avl_comp_ipv6_addr_origin;
+    avl_comp_prefix_default = avl_comp_ipv6_prefix;
+    avl_comp_prefix_origin_default = avl_comp_ipv6_prefix_origin;
+  }
+
+  /* initialize logging */
+  olsr_log_init();
 
   OLSR_INFO(LOG_MAIN, "\n *** %s ***\n Build date: %s on %s\n http://www.olsr.org\n\n", olsrd_version, build_date, build_host);
 
@@ -207,32 +224,16 @@ main(int argc, char *argv[])
 #ifndef WIN32
   /* Check if user is root */
   if (geteuid()) {
-    fprintf(stderr, "You must be root(uid = 0) to run olsrd!\nExiting\n\n");
-    exit(EXIT_FAILURE);
+    OLSR_ERROR(LOG_MAIN, "You must be root(uid = 0) to run olsrd!\nExiting\n\n");
+    olsr_exit(EXIT_FAILURE);
   }
 #else
   if (WSAStartup(0x0202, &WsaData)) {
-    fprintf(stderr, "Could not initialize WinSock.\n");
+    OLSR_ERROR(LOG_MAIN, "Could not initialize WinSock.\n");
     olsr_exit(EXIT_FAILURE);
   }
 #endif
 
-  /* Set avl tree comparator */
-  if (olsr_cnf->ipsize == 4) {
-    avl_comp_default = avl_comp_ipv4;
-    avl_comp_addr_origin_default = avl_comp_ipv4_addr_origin;
-    avl_comp_prefix_default = avl_comp_ipv4_prefix;
-    avl_comp_prefix_origin_default = avl_comp_ipv4_prefix_origin;
-  } else {
-    avl_comp_default = avl_comp_ipv6;
-    avl_comp_addr_origin_default = avl_comp_ipv6_addr_origin;
-    avl_comp_prefix_default = avl_comp_ipv6_prefix;
-    avl_comp_prefix_origin_default = avl_comp_ipv6_prefix_origin;
-  }
-
-  /* initialize logging */
-  olsr_log_init();
-
   /* initialize cookie system */
   olsr_cookie_init();
 
@@ -581,16 +582,17 @@ olsr_shutdown(void)
   /* Remove IP filters */
   deinit_netfilters();
 
-  OLSR_INFO(LOG_MAIN, "\n <<<< %s - terminating >>>>\n           http://www.olsr.org\n", olsrd_version);
-
-  olsr_log_cleanup();
-
   /* Free cookies and memory pools attached. */
   olsr_cookie_cleanup();
 
   /* Reset os_specific global options */
   os_cleanup();
 
+  OLSR_INFO(LOG_MAIN, "\n <<<< %s - terminating >>>>\n           http://www.olsr.org\n", olsrd_version);
+
+  /* cleanup logging system */
+  olsr_log_cleanup();
+
   /* Flush config */
   olsr_free_cfg(olsr_cnf);
 }
index e8a698c..f02376f 100644 (file)
@@ -52,7 +52,6 @@
 #include "lq_mpr.h"
 #include "olsr_spf.h"
 #include "scheduler.h"
-#include "os_apm.h"
 #include "neighbor_table.h"
 #include "lq_packet.h"
 #include "common/avl.h"
@@ -60,6 +59,7 @@
 #include "lq_plugin.h"
 #include "olsr_logging.h"
 #include "os_system.h"
+#include "os_apm.h"
 
 #include <assert.h>
 #include <stdarg.h>