X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/a041a135b370885075a866be172e34abc6cfbbcd..cec5bbee980eec970e660c65ec9e81f5fbac5135:/src/xbt/xbt_main.c diff --git a/src/xbt/xbt_main.c b/src/xbt/xbt_main.c index 21554b152d..f81daf78d6 100644 --- a/src/xbt/xbt_main.c +++ b/src/xbt/xbt_main.c @@ -8,6 +8,7 @@ #include "xbt/misc.h" #include "simgrid_config.h" /*HAVE_MMAP _XBT_WIN32 */ +#include "gras_config.h" /* MMALLOC_WANT_OVERRIDE_LEGACY */ #include "time.h" /* to seed the random generator */ #include "xbt/sysdep.h" @@ -74,6 +75,7 @@ static void xbt_postexit(void) _XBT_GNUC_DESTRUCTOR; #ifdef _XBT_WIN32 #include +#ifndef __GNUC__ /* Dummy prototype to make gcc happy */ BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved); @@ -90,23 +92,22 @@ BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, { if (fdwReason == DLL_PROCESS_ATTACH && xbt_dll_process_is_attached == 0) { + xbt_dll_process_is_attached = 1; xbt_preinit(); } else if (fdwReason == DLL_PROCESS_DETACH && xbt_dll_process_is_attached == 1) { + xbt_dll_process_is_attached = 0; xbt_postexit(); } return 1; } - +#endif #endif static void xbt_preinit(void) { -#ifdef _XBT_WIN32 - xbt_dll_process_is_attached = 1; -#endif -#ifdef MMALLOC_WANT_OVERIDE_LEGACY +#ifdef MMALLOC_WANT_OVERRIDE_LEGACY mmalloc_preinit(); #endif xbt_log_preinit(); @@ -152,9 +153,6 @@ static void xbt_preinit(void) static void xbt_postexit(void) { -#ifdef _XBT_WIN32 - xbt_dll_process_is_attached = 0; -#endif xbt_trp_postexit(); xbt_datadesc_postexit(); @@ -167,7 +165,7 @@ static void xbt_postexit(void) xbt_os_thread_mod_postexit(); free(xbt_binary_name); -#ifdef MMALLOC_WANT_OVERIDE_LEGACY +#ifdef MMALLOC_WANT_OVERRIDE_LEGACY mmalloc_postexit(); #endif }