X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/62245a9da13c7e59088366fdfaa8d896d29db157..c57f6b06e8780443c603dc70c86105676a658b76:/src/xbt/xbt_main.c diff --git a/src/xbt/xbt_main.c b/src/xbt/xbt_main.c index 71569a876a..978302147a 100644 --- a/src/xbt/xbt_main.c +++ b/src/xbt/xbt_main.c @@ -7,6 +7,7 @@ * under the terms of the license (GNU LGPL) which comes with this package. */ #include "xbt/misc.h" +#include "simgrid_config.h" /*HAVE_MMAP _XBT_WIN32*/ #include "time.h" /* to seed the random generator */ #include "xbt/sysdep.h" @@ -52,12 +53,17 @@ XBT_LOG_EXTERNAL_CATEGORY(xbt_sync_os); */ static void xbt_preinit(void) _XBT_GNUC_CONSTRUCTOR; static void xbt_postexit(void) _XBT_GNUC_DESTRUCTOR; + +#ifdef _XBT_WIN32 + # undef _XBT_NEED_INIT_PRAGMA +#endif + #ifdef _XBT_NEED_INIT_PRAGMA #pragma init (xbt_preinit) #pragma fini (xbt_postexit) #endif -#ifdef WIN32 +#ifdef _XBT_WIN32 #include /* Dummy prototype to make gcc happy */ @@ -79,6 +85,9 @@ BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved) { #endif static void xbt_preinit(void) { + #ifdef HAVE_MMAP + mmalloc_preinit(); + #endif xbt_log_preinit(); /* Connect our log channels: that must be done manually under windows */ @@ -106,6 +115,7 @@ static void xbt_preinit(void) { XBT_LOG_CONNECT(xbt_sync_os, xbt); xbt_fifo_preinit(); + xbt_dict_preinit(); xbt_backtrace_preinit(); xbt_os_thread_mod_preinit(); @@ -121,6 +131,9 @@ static void xbt_postexit(void) { xbt_log_postexit(); free(xbt_binary_name); +#ifdef HAVE_MMAP + mmalloc_postexit(); +#endif } /** @brief Initialize the xbt mechanisms. */