X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/d18b8e9f99926675bc2ae15d0b0ee1adf504633c..554145f555b981fd5760349c5910f169055babec:/src/mc/mc_transition.c diff --git a/src/mc/mc_transition.c b/src/mc/mc_transition.c index 99cf291b5e..3d37e46e54 100644 --- a/src/mc/mc_transition.c +++ b/src/mc/mc_transition.c @@ -189,15 +189,20 @@ void MC_trans_intercept_test(smx_comm_t comm) */ void MC_trans_intercept_waitany(xbt_dynar_t comms) { - mc_transition_t trans=NULL; + unsigned int cursor; + mc_transition_t trans = NULL; mc_state_t current_state = NULL; + smx_comm_t comm = NULL; + if(!mc_replay_mode){ MC_SET_RAW_MEM; - trans = MC_trans_waitany_new(comms); current_state = (mc_state_t) xbt_fifo_get_item_content(xbt_fifo_get_first_item(mc_stack)); - xbt_setset_set_insert(current_state->created_transitions, trans); - xbt_setset_set_insert(current_state->transitions, trans); + xbt_dynar_foreach(comms, cursor, comm){ + trans = MC_trans_wait_new(comm); + xbt_setset_set_insert(current_state->created_transitions, trans); + xbt_setset_set_insert(current_state->transitions, trans); + } MC_UNSET_RAW_MEM; } SIMIX_process_yield(); @@ -215,8 +220,8 @@ void MC_trans_intercept_random(int min, int max) mc_state_t current_state = NULL; if(!mc_replay_mode){ MC_SET_RAW_MEM; - current_state = (mc_state_t) - xbt_fifo_get_item_content(xbt_fifo_get_first_item(mc_stack)); + current_state = (mc_state_t) + xbt_fifo_get_item_content(xbt_fifo_get_first_item(mc_stack)); for(i=min; i <= max; i++){ trans = MC_trans_random_new(i); xbt_setset_set_insert(current_state->created_transitions, trans);