X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/2ace2e9a66953011268a2b64824638305807612e..a2b4822b3457a5d00803620c1d4a4df77d2b06de:/src/kernel/activity/CommImpl.cpp diff --git a/src/kernel/activity/CommImpl.cpp b/src/kernel/activity/CommImpl.cpp index 8e95559b08..b7351de1d8 100644 --- a/src/kernel/activity/CommImpl.cpp +++ b/src/kernel/activity/CommImpl.cpp @@ -581,7 +581,7 @@ void CommImpl::finish() * simcall */ if (simcall->call_ == SIMCALL_NONE) // FIXME: maybe a better way to handle this case - continue; // if process handling comm is killed + continue; // if actor handling comm is killed if (simcall->call_ == SIMCALL_COMM_WAITANY) { SIMIX_waitany_remove_simcall_from_actions(simcall); if (simcall->timeout_cb_) { @@ -670,6 +670,7 @@ void CommImpl::finish() default: xbt_die("Unexpected synchro state in CommImpl::finish: %d", static_cast(state_)); } + simcall->issuer_->simcall_answer(); } /* if there is an exception during a waitany or a testany, indicate the position of the failed communication */ if (simcall->issuer_->exception_ && @@ -681,7 +682,7 @@ void CommImpl::finish() comms = simcall_comm_waitany__get__comms(simcall); count = simcall_comm_waitany__get__count(simcall); } else { - /* simcall->call == SIMCALL_COMM_TESTANY */ + /* simcall->call_ == SIMCALL_COMM_TESTANY */ comms = simcall_comm_testany__get__comms(simcall); count = simcall_comm_testany__get__count(simcall); } @@ -710,11 +711,6 @@ void CommImpl::finish() src_actor_->comms.remove(this); } } - - if (simcall->issuer_->get_host()->is_on()) - simcall->issuer_->simcall_answer(); - else - simcall->issuer_->context_->iwannadie = true; } }