bool ActivityImpl::test(actor::ActorImpl* issuer)
{
if (state_ != State::WAITING && state_ != State::RUNNING) {
- finish();
+ post();
issuer->exception_ = nullptr; // Do not propagate exception in that case
return true;
}
/* If the synchro is already finished then perform the error handling */
if (state_ != State::WAITING && state_ != State::RUNNING) {
- finish();
+ post();
} else {
/* we need a sleep action (even when the timeout is infinite) to be notified of host failures */
/* Comms handle that a bit differently of the other activities */
act->simcalls_.push_back(&issuer->simcall_);
observer->set_result(idx);
act->set_state(State::DONE);
- act->finish();
+ act->post();
}
return;
}
act->simcalls_.push_back(&issuer->simcall_);
/* see if the synchro is already finished */
if (act->get_state() != State::WAITING && act->get_state() != State::RUNNING) {
- act->finish();
+ act->post();
break;
}
}