- surf_min_index = 0;
-
- /* sequential version */
- xbt_dynar_foreach(model_list_invoke, iter, model) {
- double next_action_end = -1.0;
- int i = __sync_fetch_and_add(&surf_min_index, 1);
- if (strcmp(model->getName(), "network NS3")) {
- XBT_DEBUG("Running for Resource [%s]", model->getName());
- next_action_end = model->shareResources(NOW);
- XBT_DEBUG("Resource [%s] : next action end = %f",
- model->getName(), next_action_end);
- }
- surf_mins[i] = next_action_end;
- }
-
- unsigned i;
- for (i = 0; i < xbt_dynar_length(model_list_invoke); i++) {
- if ((surf_min < 0.0 || surf_mins[i] < surf_min)
- && surf_mins[i] >= 0.0) {
- surf_min = surf_mins[i];
- }
+ if (surf_vm_model != NULL) {
+ XBT_DEBUG("Looking for next event in virtual models");
+ double next_event_virt = surf_vm_model->shareResources(NOW);
+ if ((surf_min < 0.0 || next_event_virt < surf_min) && next_event_virt >= 0.0)
+ surf_min = next_event_virt;