X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/b4b2e66a3e8b0f5e84729c3d57a3cfd17a894bd5..2851c17a93adcd3931c937b698b65f81400c6dc3:/src/simix/smx_global.c diff --git a/src/simix/smx_global.c b/src/simix/smx_global.c index 57020ba970..728da6ffa5 100644 --- a/src/simix/smx_global.c +++ b/src/simix/smx_global.c @@ -22,6 +22,8 @@ static void* SIMIX_action_mallocator_new_f(void); static void SIMIX_action_mallocator_free_f(void* action); static void SIMIX_action_mallocator_reset_f(void* action); +static void SIMIX_clean(void); + /* FIXME: Yeah, I'll do it in a portable maner one day [Mt] */ #include @@ -107,6 +109,8 @@ void SIMIX_global_init(int *argc, char **argv) XBT_DEBUG("ADD SIMIX LEVELS"); SIMIX_HOST_LEVEL = xbt_lib_add_level(host_lib,SIMIX_host_destroy); + + atexit(SIMIX_clean); } /** @@ -115,7 +119,7 @@ void SIMIX_global_init(int *argc, char **argv) * * This functions remove the memory used by SIMIX */ -void SIMIX_clean(void) +static void SIMIX_clean(void) { #ifdef TIME_BENCH_PER_SR smx_ctx_raw_new_sr(); @@ -178,7 +182,7 @@ void SIMIX_clean(void) */ XBT_INLINE double SIMIX_get_clock(void) { - if(MC_IS_ENABLED){ + if(MC_is_active()){ return MC_process_clock_get(SIMIX_process_self()); }else{ return surf_get_clock(); @@ -445,6 +449,13 @@ void SIMIX_display_process_status(void) case SIMIX_ACTION_IO: action_description = "I/O"; + break; + /* **************************************/ + /* TUTORIAL: New API */ + case SIMIX_ACTION_NEW_API: + action_description = "NEW API"; + /* **************************************/ + break; } XBT_INFO("Process %lu (%s@%s): waiting for %s action %p (%s) in state %d to finish", @@ -477,3 +488,9 @@ static void SIMIX_action_mallocator_reset_f(void* action) { memset(action, 0, sizeof(s_smx_action_t)); ((smx_action_t) action)->simcalls = fifo; } + +xbt_dict_t SIMIX_asr_get_properties(const char *name) +{ + return xbt_lib_get_or_null(as_router_lib, name, ROUTING_PROP_ASR_LEVEL); +} +