- state that executed that previous transition. */
- while ((mc_current_state = xbt_fifo_shift(mc_stack)) != NULL) {
- q = mc_current_state->executed_transition;
- xbt_fifo_foreach(mc_stack, item, state, mc_state_t) {
- if (MC_transition_depend(q, state->executed_transition)) {
- xbt_setset_foreach(state->enabled_transitions, cursor, trans) {
- if ((trans->process == q->process)
- && !xbt_setset_set_belongs(state->done, trans)) {
- DEBUG3("%s depend with %s at %p", q->name,
- state->executed_transition->name, state);
-
- xbt_setset_foreach(state->enabled_transitions, cursor,
- trans) {
- if (trans->process == q->process)
- xbt_setset_set_insert(state->interleave, trans);
- }
- /* FIXME: hack to make it work */
- trans = q;
- break;
- }
+ state that executed that previous request. */
+ while ((state = xbt_fifo_shift(mc_stack)) != NULL) {
+ req = MC_state_get_executed_request(state, &value);
+ xbt_fifo_foreach(mc_stack, item, prev_state, mc_state_t) {
+ if(MC_request_depend(req, MC_state_get_executed_request(prev_state, &value))){
+ if(XBT_LOG_ISENABLED(mc_dpor, xbt_log_priority_debug)){
+ DEBUG0("Dependent Transitions:");
+ req_str = MC_request_to_string(MC_state_get_executed_request(prev_state, &value));
+ DEBUG2("%s (state=%p)", req_str, prev_state);
+ xbt_free(req_str);
+ req_str = MC_request_to_string(req);
+ DEBUG2("%s (state=%p)", req_str, state);
+ xbt_free(req_str);