- if (synchro->type == SIMIX_SYNC_EXECUTE && /* FIMXE: handle resource failure
- * for parallel tasks too */
- synchro->execution.host->is_off()) {
- /* If the host running the synchro failed, notice it so that the asking
- * process can be killed if it runs on that host itself */
- synchro->state = SIMIX_FAILED;
- } else if (synchro->execution.surf_exec->getState() == SURF_ACTION_FAILED) {
- /* If the host running the synchro didn't fail, then the synchro was
- * canceled */
- synchro->state = SIMIX_CANCELED;
- } else {
- synchro->state = SIMIX_DONE;
- }
-
- if (synchro->execution.surf_exec) {
- synchro->execution.surf_exec->unref();
- synchro->execution.surf_exec = NULL;
- }