xbt_fifo_item_t item = NULL;
int pos;
int visited_state;
+ int enabled = 0, max_depth_reached = 0;
while (xbt_fifo_size(mc_stack_safety) > 0) {
xbt_free(req_str);
}
- req_str = MC_request_get_dot_output(req, value);
+ if(dot_output != NULL)
+ req_str = MC_request_get_dot_output(req, value);
MC_state_set_executed_request(state, req, value);
mc_stats->executed_transitions++;
MC_UNSET_RAW_MEM;
- xbt_free(req_str);
+ if(dot_output != NULL)
+ xbt_free(req_str);
/* Let's loop again */
}
}
- max_depth_reached = 1;
+ if(MC_state_interleave_size(state) > 0){
+ max_depth_reached = 1;
+ }else{
+ /* Trash the current state, no longer needed */
+ MC_SET_RAW_MEM;
+ xbt_fifo_shift(mc_stack_safety);
+ MC_state_delete(state);
+ MC_UNSET_RAW_MEM;
+
+ max_depth_reached = 0;
+ }
+
}else{