X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/bd09ed439ea2ce380f58a1154632416393bff939..fcf3b4aa4934674a5c928945a03b7e8356da2d03:/src/xbt/xbt_main.c diff --git a/src/xbt/xbt_main.c b/src/xbt/xbt_main.c index 319a42296c..8b9b4155f4 100644 --- a/src/xbt/xbt_main.c +++ b/src/xbt/xbt_main.c @@ -8,10 +8,9 @@ #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" -#include "src/internal_config.h" /* HAVE_MC */ -#include "src/portable.h" #include "xbt/sysdep.h" #include "xbt/log.h" #include "xbt/dynar.h" @@ -23,16 +22,19 @@ #include "simgrid/sg_config.h" +#include "src/internal_config.h" #include #ifdef _WIN32 #include /* To silence MSVC on abort() */ #endif +#if HAVE_UNISTD_H +# include +#endif 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) */ - char *xbt_binary_name = NULL; /* Name of the system process containing us (mandatory to retrieve neat backtraces) */ xbt_dynar_t xbt_cmdline = NULL; /* all we got in argv */ @@ -60,9 +62,7 @@ static void xbt_postexit(void); #include #ifndef __GNUC__ -/* Should not be necessary but for some reason, - * DllMain is called twice at attachment and - * at detachment.*/ +/* Should not be necessary but for some reason, DllMain is called twice at attachment and at detachment.*/ static int xbt_dll_process_is_attached = 0; /* see also http://msdn.microsoft.com/en-us/library/ms682583%28VS.85%29.aspx */ @@ -85,12 +85,14 @@ static BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserv static void xbt_preinit(void) { unsigned int seed = 2147483647; -#ifndef _WIN32 - xbt_pagesize = sysconf(_SC_PAGESIZE); -#else +#ifdef _WIN32 SYSTEM_INFO si; GetSystemInfo(&si); xbt_pagesize = si.dwPageSize; +#elif HAVE_SYSCONF + xbt_pagesize = sysconf(_SC_PAGESIZE); +#else + #error Cannot get page size. #endif xbt_pagebits = 0; @@ -127,7 +129,7 @@ static void xbt_postexit(void) xbt_dynar_free(&xbt_cmdline); xbt_log_postexit(); free(xbt_binary_name); -#ifdef HAVE_MC +#if HAVE_MC mmalloc_postexit(); #endif } @@ -142,10 +144,8 @@ void xbt_init(int *argc, char **argv) xbt_binary_name = xbt_strdup(argv[0]); xbt_cmdline = xbt_dynar_new(sizeof(char*),NULL); - int i; - for (i=0;i<*argc;i++) { + for (int i=0;i<*argc;i++) xbt_dynar_push(xbt_cmdline,&(argv[i])); - } xbt_log_init(argc, argv); }