X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/9e9c6282dfe55ae4c5b35553d5d68f9dc129181c..317986722b1e90e467ac9850c9a7000130273564:/src/mc/mc_dpor.c diff --git a/src/mc/mc_dpor.c b/src/mc/mc_dpor.c index f97fc36e22..18d6814e0b 100644 --- a/src/mc/mc_dpor.c +++ b/src/mc/mc_dpor.c @@ -92,9 +92,9 @@ void MC_dpor(void) xbt_free(req_str); } - SIMIX_request_pre(req); - MC_state_set_executed_request(state, req); + + SIMIX_request_pre(req); /* After this call req is no longer usefull */ /* Wait for requests (schedules processes) */ MC_wait_for_requests(); @@ -128,7 +128,7 @@ void MC_dpor(void) xbt_swag_foreach(process, simix_global->process_list){ /* FIXME: use REQ_NO_REQ instead of NULL for comparison */ if(&process->request && !SIMIX_request_is_enabled(&process->request)){ - *mc_exp_ctl = MC_DEADLOCK; + MC_show_deadlock(&process->request); return; } } @@ -169,17 +169,16 @@ void MC_dpor(void) /* We found a back-tracking point, let's loop */ xbt_fifo_unshift(mc_stack, state); DEBUG1("Back-tracking to depth %d", xbt_fifo_size(mc_stack)); - *mc_exp_ctl = MC_EXPLORE; MC_UNSET_RAW_MEM; - return; + MC_replay(mc_stack); break; } else { MC_state_delete(state); } } + MC_UNSET_RAW_MEM; } } MC_UNSET_RAW_MEM; - *mc_exp_ctl = MC_STOP; return; }