if (comm->state_ != SIMIX_WAITING && comm->state_ != SIMIX_RUNNING) {
simcall_comm_testany__set__result(simcall, i);
comm->simcalls_.push_back(simcall);
if (comm->state_ != SIMIX_WAITING && comm->state_ != SIMIX_RUNNING) {
simcall_comm_testany__set__result(simcall, i);
comm->simcalls_.push_back(simcall);
- XBT_DEBUG("Really free communication %p", this);
+ XBT_DEBUG("Really free communication %p in state %d (detached = %d)", this, static_cast<int>(state_),
+ static_cast<int>(detached));
{
/* if the synchro is a waiting state means that it is still in a mbox so remove from it and delete it */
if (state_ == SIMIX_WAITING) {
{
/* if the synchro is a waiting state means that it is still in a mbox so remove from it and delete it */
if (state_ == SIMIX_WAITING) {
} else if (not MC_is_active() /* when running the MC there are no surf actions */
&& not MC_record_replay_is_active() && (state_ == SIMIX_READY || state_ == SIMIX_RUNNING)) {
surf_action_->cancel();
} else if (not MC_is_active() /* when running the MC there are no surf actions */
&& not MC_record_replay_is_active() && (state_ == SIMIX_READY || state_ == SIMIX_RUNNING)) {
surf_action_->cancel();