X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/3afb7fcd5847dbd9cf2005e28d45eadcf96a399b..bfd195fd055c87a406ec2982cc75290321ca4059:/src/surf/surf.c diff --git a/src/surf/surf.c b/src/surf/surf.c index fbf2ae3c71..8a1b6dd407 100644 --- a/src/surf/surf.c +++ b/src/surf/surf.c @@ -10,6 +10,7 @@ #include "simix/smx_host_private.h" #include "surf/surf_resource.h" #include "xbt/xbt_os_thread.h" +#include "simgrid/sg_config.h" #include @@ -55,26 +56,6 @@ static const char *disk_drives_letter_table[MAX_DRIVE] = { }; #endif /* #ifdef _XBT_WIN32 */ -int surf_cfg_get_int(const char* name) -{ - return xbt_cfg_get_int(_surf_cfg_set,name); -} -double surf_cfg_get_double(const char* name) -{ - return xbt_cfg_get_double(_surf_cfg_set,name); -} -char* surf_cfg_get_string(const char* name) -{ - return xbt_cfg_get_string(_surf_cfg_set,name); -} -void surf_cfg_get_peer(const char *name, char **peer, int *port) -{ - xbt_cfg_get_peer(_surf_cfg_set,name, peer, port); -} -xbt_dynar_t surf_cfg_get_dynar(const char* name) -{ - return xbt_cfg_get_dynar(_surf_cfg_set,name); -} /* * Returns the initial path. On Windows the initial path is * the current directory for the current process in the other @@ -437,7 +418,12 @@ void surf_init(int *argc, char **argv) if (!history) history = tmgr_history_new(); - surf_config_init(argc, argv); +#ifdef HAVE_TRACING + TRACE_add_start_function(TRACE_surf_alloc); + TRACE_add_end_function(TRACE_surf_release); +#endif + + sg_config_init(argc, argv); surf_action_init(); if (MC_is_active()) @@ -479,7 +465,7 @@ void surf_exit(void) unsigned int iter; surf_model_t model = NULL; - surf_config_finalize(); + sg_config_finalize(); xbt_dynar_foreach(model_list, iter, model) model->model_private->finalize(); @@ -537,9 +523,11 @@ void surf_presolve(void) tmgr_history_get_next_event_leq(history, next_event_date, &value, (void **) &resource))) { - resource->model->model_private->update_resource_state(resource, - event, value, - NOW); + if (value >= 0){ + resource->model->model_private->update_resource_state(resource, + event, value, + NOW); + } } } xbt_dynar_foreach(model_list, iter, model) @@ -617,14 +605,14 @@ double surf_solve(double max_date) min = model_next_action_end; } - if (next_event_date == -1.0) { + if (next_event_date < 0.0) { XBT_DEBUG("no next TRACE event. Stop searching for it"); break; } - if ((min != -1.0) && (next_event_date > NOW + min)) break; + if ((min == -1.0) || (next_event_date > NOW + min)) break; - XBT_DEBUG("Updating models"); + XBT_DEBUG("Updating models (min = %g, NOW = %g, next_event_date = %g)",min, NOW, next_event_date); while ((event = tmgr_history_get_next_event_leq(history, next_event_date, &value, @@ -641,7 +629,7 @@ double surf_solve(double max_date) resource->model->name, min); resource->model->model_private->update_resource_state(resource, event, value, - NOW + min); + next_event_date); } } while (1);