X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/d528b1c80ec6456af1cd0ddff758a5ad2230d322..485a5ec02aa2f8c667ab99f1d556e1851a99cc07:/src/simdag/sd_global.c diff --git a/src/simdag/sd_global.c b/src/simdag/sd_global.c index 14066967fb..a73ce53abd 100644 --- a/src/simdag/sd_global.c +++ b/src/simdag/sd_global.c @@ -13,12 +13,17 @@ #include "xbt/str.h" #include "xbt/config.h" #include "instr/instr_private.h" +#include "surf/surfxml_parse.h" #ifdef HAVE_LUA #include #include #include #endif +#ifdef HAVE_JEDULE +#include "instr/jedule/jedule_sd_binding.h" +#endif + XBT_LOG_NEW_CATEGORY(sd, "Logging specific to SimDag"); XBT_LOG_NEW_DEFAULT_SUBCATEGORY(sd_kernel, sd, "Logging specific to SimDag (kernel)"); @@ -91,6 +96,10 @@ void SD_init(int *argc, char **argv) #ifdef HAVE_TRACING TRACE_start (); #endif + +#ifdef HAVE_JEDULE + jedule_sd_init(); +#endif } /** @@ -138,6 +147,12 @@ void SD_application_reinit(void) sd_global->failed_task_set = xbt_swag_new(xbt_swag_offset(task, state_hookup)); sd_global->task_number = 0; + +#ifdef HAVE_JEDULE + jedule_sd_cleanup(); + jedule_sd_init(); +#endif + } else { WARN0("SD_application_reinit called before initialization of SimDag"); /* we cannot use exceptions here because xbt is not running! */ @@ -170,13 +185,13 @@ void SD_create_environment(const char *platform_file) void *surf_workstation = NULL; void *surf_link = NULL; - //First pass of platform file - surf_config_add_callback(); - parse_platform_file(platform_file); + platform_filename = bprintf("%s",platform_file); + // Reset callbacks + surf_parse_reset_callbacks(); + // Add config callbacks + surf_parse_add_callback_config(); SD_CHECK_INIT_DONE(); - DEBUG0("SD_create_environment"); - surf_config_models_setup(platform_file); parse_platform_file(platform_file); surf_config_models_create_elms(); @@ -193,6 +208,9 @@ void SD_create_environment(const char *platform_file) DEBUG2("Workstation number: %d, link number: %d", SD_workstation_get_number(), SD_link_get_number()); +#ifdef HAVE_JEDULE + jedule_setup_platform(); +#endif } /** @@ -411,6 +429,10 @@ void SD_exit(void) #ifdef HAVE_TRACING TRACE_end(); #endif +#ifdef HAVE_JEDULE + jedule_sd_dump(); + jedule_sd_cleanup(); +#endif DEBUG0("Exiting Surf..."); surf_exit();