/* This program is free software; you can redistribute it and/or modify it
* under the terms of the license (GNU LGPL) which comes with this package. */
/* This program is free software; you can redistribute it and/or modify it
* under the terms of the license (GNU LGPL) which comes with this package. */
/* If the host running the synchro failed, notice it. This way, the asking
* actor can be killed if it runs on that host itself */
result = SIMIX_SRC_HOST_FAILURE;
/* If the host running the synchro failed, notice it. This way, the asking
* actor can be killed if it runs on that host itself */
result = SIMIX_SRC_HOST_FAILURE;
- SMX_EXCEPTION(simcall->issuer, host_error, 0, "Host failed");
+ simcall->issuer->throw_exception(
+ std::make_exception_ptr(simgrid::HostFailureException(XBT_THROW_POINT, "Host failed")));
- switch (surf_sleep->get_state()) {
- case simgrid::kernel::resource::Action::State::FAILED:
- simcall->issuer->context_->iwannadie = 1;
+ switch (surf_action_->get_state()) {
+ case resource::Action::State::FAILED:
+ simcall->issuer->context_->iwannadie = true;
}
simcall_process_sleep__set__result(simcall, result);
simcall->issuer->waiting_synchro = nullptr;
}
simcall_process_sleep__set__result(simcall, result);
simcall->issuer->waiting_synchro = nullptr;
simcall_HANDLER_process_suspend(simcall, simcall->issuer);
} else {
SIMIX_simcall_answer(simcall);
}
}
simcall_HANDLER_process_suspend(simcall, simcall->issuer);
} else {
SIMIX_simcall_answer(simcall);
}
}