simgrid::kernel::activity::CommImplPtr comm =
boost::static_pointer_cast<simgrid::kernel::activity::CommImpl>(synchro);
+ int res;
+
if (MC_is_active() || MC_record_replay_is_active()){
- simcall_comm_test__set__result(simcall, comm->src_proc && comm->dst_proc);
- if (simcall_comm_test__get__result(simcall)){
+ res = comm->src_proc && comm->dst_proc;
+ if (res)
synchro->state_ = SIMIX_DONE;
- synchro->simcalls_.push_back(simcall);
- SIMIX_comm_finish(synchro);
- } else {
- SIMIX_simcall_answer(simcall);
- }
- return;
+ } else {
+ res = synchro->state_ != SIMIX_WAITING && synchro->state_ != SIMIX_RUNNING;
}
- simcall_comm_test__set__result(simcall, (synchro->state_ != SIMIX_WAITING && synchro->state_ != SIMIX_RUNNING));
+ simcall_comm_test__set__result(simcall, res);
if (simcall_comm_test__get__result(simcall)) {
synchro->simcalls_.push_back(simcall);
SIMIX_comm_finish(synchro);
receiver->get_cname(), comm->surfAction_);
/* If a link is failed, detect it immediately */
- if (comm->surfAction_->get_state() == simgrid::kernel::resource::Action::State::failed) {
+ if (comm->surfAction_->get_state() == simgrid::kernel::resource::Action::State::FAILED) {
XBT_DEBUG("Communication from '%s' to '%s' failed to start because of a link failure", sender->get_cname(),
receiver->get_cname());
comm->state_ = SIMIX_LINK_FAILURE;
/* Check out for errors */
- if (simcall->issuer->host->isOff()) {
+ if (simcall->issuer->host->is_off()) {
simcall->issuer->context->iwannadie = 1;
SMX_EXCEPTION(simcall->issuer, host_error, 0, "Host failed");
} else {
}
}
- if (simcall->issuer->host->isOff()) {
+ if (simcall->issuer->host->is_off()) {
simcall->issuer->context->iwannadie = 1;
}