Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Check if the host is down after a execute in SIMIX_execution_finish (to avoid the...
authorSamuel Lepetit <samuel.lepetit@inria.fr>
Thu, 21 Jun 2012 13:08:04 +0000 (15:08 +0200)
committerSamuel Lepetit <samuel.lepetit@inria.fr>
Thu, 21 Jun 2012 13:08:04 +0000 (15:08 +0200)
src/simix/smx_host.c

index 32fd765..6e6a93f 100644 (file)
@@ -361,6 +361,12 @@ void SIMIX_execution_finish(smx_action_t action)
         xbt_die("Internal error in SIMIX_execution_finish: unexpected action state %d",
             (int)action->state);
     }
+    /* check if the host is down */
+    if (surf_workstation_model->extension.
+        workstation.get_state(simcall->issuer->smx_host->host) != SURF_RESOURCE_ON) {
+      simcall->issuer->context->iwannadie = 1;
+    }
+
     simcall->issuer->waiting_action =    NULL;
     simcall->host_execution_wait.result = action->state;
     SIMIX_simcall_answer(simcall);