From: Samuel Lepetit Date: Thu, 21 Jun 2012 13:08:04 +0000 (+0200) Subject: Check if the host is down after a execute in SIMIX_execution_finish (to avoid the... X-Git-Tag: v3_8~523 X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/commitdiff_plain/c67758e45a789619678921867ca40cffbd22b1c6 Check if the host is down after a execute in SIMIX_execution_finish (to avoid the case where the process could have the control back whereas his host is down). --- diff --git a/src/simix/smx_host.c b/src/simix/smx_host.c index 32fd765656..6e6a93f64c 100644 --- a/src/simix/smx_host.c +++ b/src/simix/smx_host.c @@ -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);