X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/f6d9fb60fb5767a9b41ab1b36f024432bfa57850..cfcc26205c43c7ee01341db3d2910f5efbd2fa6b:/src/simix/smx_global.c diff --git a/src/simix/smx_global.c b/src/simix/smx_global.c index db0f05141d..100e0fb62f 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 @@ -95,6 +97,11 @@ void SIMIX_global_init(int *argc, char **argv) /* Prepare to display some more info when dying on Ctrl-C pressing */ signal(SIGINT, inthandler); + + /* register a function to be called by SURF after the environment creation */ + sg_platf_init(); + sg_platf_postparse_add_cb(SIMIX_post_create_environment); + } if (!simix_timers) { simix_timers = xbt_heap_new(8, &free); @@ -102,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); } /** @@ -110,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(); @@ -440,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", @@ -472,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); +} +