X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/07c319ec54d6fc778ee3cc5e75a747242006723e..a2c25e0bae01a59891fac21447f3210ba26302c5:/src/simix/smx_environment.c diff --git a/src/simix/smx_environment.c b/src/simix/smx_environment.c index 20ce044908..c342abc4a8 100644 --- a/src/simix/smx_environment.c +++ b/src/simix/smx_environment.c @@ -9,6 +9,7 @@ #include "xbt/log.h" #include "xbt/xbt_os_time.h" #include "xbt/config.h" +#include "surf/surfxml_parse.h" XBT_LOG_NEW_DEFAULT_SUBCATEGORY(simix_environment, simix, "Logging specific to SIMIX (environment)"); @@ -32,27 +33,30 @@ XBT_LOG_NEW_DEFAULT_SUBCATEGORY(simix_environment, simix, */ void SIMIX_create_environment(const char *file) { - xbt_dict_cursor_t cursor = NULL; + xbt_lib_cursor_t cursor = NULL; char *name = NULL; - void *workstation = NULL; + void **workstation = NULL; double start, end; - surf_config_models_setup(file); + platform_filename = xbt_strdup(file); + + // Reset callbacks + surf_parse_reset_callbacks(); + // Add config callbacks + surf_parse_add_callback_config(); + parse_platform_file(file); surf_config_models_create_elms(); + start = xbt_os_time(); /* FIXME: what time are we measuring ??? */ end = xbt_os_time(); - DEBUG1("PARSE TIME: %lg", (end - start)); - -#ifdef HAVE_TRACING - TRACE_surf_save_onelink(); -#endif + XBT_DEBUG("PARSE TIME: %lg", (end - start)); - xbt_dict_foreach(surf_model_resource_set(surf_workstation_model), cursor, - name, workstation) { - SIMIX_host_create(name, workstation, NULL); + xbt_lib_foreach(host_lib, cursor, name, workstation) { + if(workstation[SURF_WKS_LEVEL]) + SIMIX_host_create(name, workstation[SURF_WKS_LEVEL], NULL); } surf_presolve(); }