}
}
- time = surf_solve(SIMIX_timer_next());
+ time = SIMIX_timer_next();
+ if (time != -1.0 || xbt_swag_size(simix_global->process_list) != 0)
+ time = surf_solve(time);
/* Notify all the hosts that have failed */
/* FIXME: iterate through the list of failed host and mark each of them */
/* Clean processes to destroy */
SIMIX_process_empty_trash();
- } while (time != -1.0);
+ } while (time != -1.0 || xbt_dynar_length(simix_global->process_to_run) > 0);
if (xbt_swag_size(simix_global->process_list) != 0) {
action_description = "I/O";
break;
}
- XBT_INFO("Process %ld (%s@%s): waiting for %s action %p (%s) to finish", process->pid, process->name, process->smx_host->name,
- action_description, process->waiting_action, process->waiting_action->name);
+ XBT_INFO("Process %ld (%s@%s): waiting for %s action %p (%s) in state %d to finish",
+ process->pid, process->name, process->smx_host->name,
+ action_description, process->waiting_action,
+ process->waiting_action->name, process->waiting_action->state);
+ }
+ else {
+ XBT_INFO("Process %ld (%s@%s)", process->pid, process->name, process->smx_host->name);
}
}
}