/* If the host running the synchro failed, notice it. This way, the asking
* process can be killed if it runs on that host itself */
state = SIMIX_FAILED;
- } else if (surfAction_->get_state() == simgrid::kernel::resource::Action::State::failed) {
+ } else if (surfAction_ && surfAction_->get_state() == simgrid::kernel::resource::Action::State::failed) {
/* If the host running the synchro didn't fail, then the synchro was canceled */
state = SIMIX_CANCELED;
} else if (timeoutDetector && timeoutDetector->get_state() == simgrid::kernel::resource::Action::State::done) {
s4u::Host* host = nullptr; /* the host on which the process is running */
smx_context_t context = nullptr; /* the context (uctx/raw/thread) that executes the user function */
- // TODO, pack them
std::exception_ptr exception;
bool finished = false;
bool blocked = false;