action->model_type->action_unref(action);
}
- } while (surf_solve() >= 0.0);
+ } while ((xbt_swag_size(surf_network_model->states.running_action_set) ||
+ xbt_swag_size(surf_cpu_model->states.running_action_set)) &&
+ surf_solve() >= 0.0);
DEBUG0("Simulation Terminated");
}
surf_action_t actionC = NULL;
surf_action_t commAB = NULL;
double now = -1.0;
+ int running;
int workstation_id =
find_model_description(surf_workstation_model_description, "CLM03");
surf_action_t action = NULL;
unsigned int iter;
surf_model_t model = NULL;
+ running = 0;
now = surf_get_clock();
DEBUG1("Next Event : %g", now);
DEBUG1("\t * Done : %p", action);
model->action_unref(action);
}
+ if (xbt_swag_size(model->states.running_action_set)) {
+ DEBUG1("running %s", model->name);
+ running = 1;
+ }
}
- } while (surf_solve() >= 0.0);
+ } while (running && surf_solve() >= 0.0);
DEBUG0("Simulation Terminated");