Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
model-checker : fix debug message
[simgrid.git] / src / mc / mc_dpor.c
index 6443295..dd0aba3 100644 (file)
@@ -61,7 +61,7 @@ void MC_dpor(void)
   mc_state_t state = NULL, prev_state = NULL, next_state = NULL, restore_state=NULL;
   smx_process_t process = NULL;
   xbt_fifo_item_t item = NULL;
-  int pos, i = 1;
+  int pos;
 
   while (xbt_fifo_size(mc_stack_safety) > 0) {
 
@@ -182,19 +182,19 @@ void MC_dpor(void)
               MC_UNSET_RAW_MEM;
             }else{
               pos = xbt_fifo_size(mc_stack_safety);
-              item = xbt_fifo_get_last_item(mc_stack_safety);
+              item = xbt_fifo_get_first_item(mc_stack_safety);
               while(pos>0){
                 restore_state = (mc_state_t) xbt_fifo_get_item_content(item);
                 if(restore_state->system_state != NULL){
                   break;
                 }else{
-                  item = xbt_fifo_get_prev_item(item);
+                  item = xbt_fifo_get_next_item(item);
                   pos--;
                 }
               }
               MC_restore_snapshot(restore_state->system_state);
               xbt_fifo_unshift(mc_stack_safety, state);
-              XBT_DEBUG("Back-tracking to depth %d", pos);
+              XBT_DEBUG("Back-tracking to depth %d", xbt_fifo_size(mc_stack_safety));
               MC_UNSET_RAW_MEM;
               MC_replay(mc_stack_safety, pos);
             }
@@ -202,7 +202,7 @@ void MC_dpor(void)
             xbt_fifo_unshift(mc_stack_safety, state);
             XBT_DEBUG("Back-tracking to depth %d", xbt_fifo_size(mc_stack_safety));
             MC_UNSET_RAW_MEM;
-            MC_replay(mc_stack_safety, 1);
+            MC_replay(mc_stack_safety, -1);
           }
           break;
         } else {