- switch (surf_sleep->get_state()) {
- case simgrid::kernel::resource::Action::State::FAILED:
- simcall->issuer->context_->iwannadie = 1;
- result = SIMIX_FAILED;
- break;
+void SleepImpl::set_exception(actor::ActorImpl* issuer)
+{
+ /* FIXME: Really, nothing bad can happen while we sleep? */
+}
+void SleepImpl::finish()
+{
+ if (model_action_->get_state() == resource::Action::State::FAILED) {
+ if (host_ && not host_->is_on())
+ set_state(State::SRC_HOST_FAILURE);
+ else
+ set_state(State::CANCELED);
+ } else if (model_action_->get_state() == resource::Action::State::FINISHED) {
+ set_state(State::DONE);
+ }