X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/7a25b8e6a7aae6d40849189e58495aee0d8f726f..68bbe0a999c4d78d2ac27ed0b4bb325f4e6a3b03:/src/mc/mc_dpor.c?ds=sidebyside diff --git a/src/mc/mc_dpor.c b/src/mc/mc_dpor.c index bc37c91bca..bed97ecaaf 100644 --- a/src/mc/mc_dpor.c +++ b/src/mc/mc_dpor.c @@ -118,17 +118,19 @@ void MC_dpor(void) } else { DEBUG0("There are no more processes to interleave."); + /* Trash the current state, no longer needed */ + MC_SET_RAW_MEM; + xbt_fifo_shift(mc_stack); + MC_state_delete(state); + MC_UNSET_RAW_MEM; + /* Check for deadlocks */ if(MC_deadlock_check()){ - MC_show_deadlock(&process->request); + MC_show_deadlock(NULL); return; } - /* Trash the current state, no longer needed */ MC_SET_RAW_MEM; - xbt_fifo_shift(mc_stack); - MC_state_delete(state); - /* Traverse the stack backwards until a state with a non empty interleave set is found, deleting all the states that have it empty in the way. For each deleted state, check if the request that has generated it