From c67758e45a789619678921867ca40cffbd22b1c6 Mon Sep 17 00:00:00 2001 From: Samuel Lepetit Date: Thu, 21 Jun 2012 15:08:04 +0200 Subject: [PATCH] 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). --- src/simix/smx_host.c | 6 ++++++ 1 file changed, 6 insertions(+) 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); -- 2.20.1