- set = model->states.failed_action_set;
- while ((action = xbt_swag_extract(set)))
- SIMIX_simcall_post((smx_action_t) action->data);
- set = model->states.done_action_set;
- while ((action = xbt_swag_extract(set)))
- SIMIX_simcall_post((smx_action_t) action->data);
+ while ((action = surf_model_extract_failed_action_set(model)))
+ SIMIX_simcall_post((smx_action_t) surf_action_get_data(action));
+
+ while ((action = surf_model_extract_done_action_set(model)))
+ if (surf_action_get_data(action) == NULL)
+ XBT_DEBUG("probably vcpu's action %p, skip", action);
+ else
+ SIMIX_simcall_post((smx_action_t) surf_action_get_data(action));
+ }
+
+ /* Autorestart all process */
+ if(host_that_restart) {
+ char *hostname = NULL;
+ xbt_dynar_foreach(host_that_restart,iter,hostname) {
+ XBT_INFO("Restart processes on host: %s",hostname);
+ SIMIX_host_autorestart(SIMIX_host_get_by_name(hostname));
+ }
+ xbt_dynar_reset(host_that_restart);