Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
The memory management of dirname is stupid, so be brutal
[simgrid.git] / src / xbt / xbt_main.c
index c355f49..7c6795f 100644 (file)
@@ -6,10 +6,12 @@
 /* This program is free software; you can redistribute it and/or modify it
  * under the terms of the license (GNU LGPL) which comes with this package. */
 
+#define XBT_LOG_LOCALLY_DEFINE_XBT_CHANNEL /* MSVC don't want it to be declared extern in headers and local here */
+
 #include "xbt/misc.h"
 #include "simgrid_config.h"     /* _XBT_WIN32 */
-#include "internal_config.h"    /* MMALLOC_WANT_OVERRIDE_LEGACY */
-#include "portable.h"
+#include "src/internal_config.h" /* MMALLOC_WANT_OVERRIDE_LEGACY */
+#include "src/portable.h"
 #include "xbt/sysdep.h"
 #include "xbt/log.h"
 #include "xbt/dynar.h"
@@ -17,7 +19,7 @@
 
 #include "xbt/module.h"         /* this module */
 
-#include "xbt_modinter.h"       /* prototype of other module's init/exit in XBT */
+#include "src/xbt_modinter.h"       /* prototype of other module's init/exit in XBT */
 
 #include "simgrid/sg_config.h"
 
@@ -26,7 +28,6 @@
 #include <signal.h>
 #endif
 
-XBT_LOG_NEW_CATEGORY(xbt, "All XBT categories (simgrid toolbox)");
 XBT_LOG_NEW_DEFAULT_SUBCATEGORY(module, xbt, "module handling");
 
 XBT_LOG_NEW_CATEGORY(smpi, "All SMPI categories"); /* lives here even if that's a bit odd to solve linking issues: this is used in xbt_log_file_appender to detect whether SMPI is used (and thus whether we should unbench the writing to disk) */
@@ -89,7 +90,7 @@ BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason,
 
 static void xbt_preinit(void) {
   unsigned int seed = 2147483647;
-#ifndef WIN32
+#ifndef _XBT_WIN32
   xbt_pagesize = sysconf(_SC_PAGESIZE);
 #else
   SYSTEM_INFO si;
@@ -103,9 +104,6 @@ static void xbt_preinit(void) {
     ++xbt_pagebits;
   }
 
-#ifdef MMALLOC_WANT_OVERRIDE_LEGACY
-  mmalloc_preinit();
-#endif
 #ifdef _TWO_DIGIT_EXPONENT
   /* Even printf behaves differently on Windows... */
   _set_output_format(_TWO_DIGIT_EXPONENT);
@@ -117,7 +115,7 @@ static void xbt_preinit(void) {
   xbt_dict_preinit();
    
   srand(seed);
-#ifndef _WIN32
+#ifndef _XBT_WIN32
   srand48(seed);
 #endif
   atexit(xbt_postexit);
@@ -126,6 +124,7 @@ static void xbt_preinit(void) {
 static void xbt_postexit(void)
 {
   if(!_sg_do_clean_atexit) return;
+  xbt_initialized--;
   xbt_backtrace_postexit();
   xbt_fifo_postexit();
   xbt_dict_postexit();