xbt_fifo_remove_item(fifo, item);
xbt_fifo_free_item(item);
action->comm.refcount++;
+#ifdef HAVE_MC
+ action->comm.rdv_cpy = action->comm.rdv;
+#endif
action->comm.rdv = NULL;
return action;
}
#ifdef HAVE_LATENCY_BOUND_TRACKING
action->latency_limited = SIMIX_comm_is_latency_bounded(action);
#endif
- action->comm.surf_comm->model_type->action_unref(action->comm.surf_comm);
+ action->comm.surf_comm->model_obj->action_unref(action->comm.surf_comm);
action->comm.surf_comm = NULL;
}
if (action->comm.src_timeout){
- action->comm.src_timeout->model_type->action_unref(action->comm.src_timeout);
+ action->comm.src_timeout->model_obj->action_unref(action->comm.src_timeout);
action->comm.src_timeout = NULL;
}
if (action->comm.dst_timeout){
- action->comm.dst_timeout->model_type->action_unref(action->comm.dst_timeout);
+ action->comm.dst_timeout->model_obj->action_unref(action->comm.dst_timeout);
action->comm.dst_timeout = NULL;
}
}
other_action->state = SIMIX_READY;
other_action->comm.dst_proc=rdv->permanent_receiver;
other_action->comm.refcount++;
- other_action->comm.rdv = rdv;
xbt_fifo_push(rdv->done_comm_fifo,other_action);
other_action->comm.rdv=rdv;
XBT_DEBUG("pushing a message into the permanent receive fifo %p, comm %p \n", rdv, &(other_action->comm));