/* Free previous copy of the files */
xbt_dict_free(&files);
+ xbt_dict_free(&computers);
fclose(in_file);
if (!acyclic_graph_detail(result)) {
XBT_ERROR("The DOT described in %s is not a DAG. It contains a cycle.",
xbt_swag_foreach_safe(done_task, next_done_task, sd_global->done_task_set){
if (xbt_dynar_is_empty(done_task->tasks_before)){
__SD_task_set_state(done_task, SD_SCHEDULABLE);
- } else{
+ } else{
__SD_task_set_state(done_task, SD_NOT_SCHEDULED);
done_task->unsatisfied_dependencies =
xbt_dynar_length(done_task->tasks_before);
done_task->is_not_ready = done_task->unsatisfied_dependencies;
- }
+ }
}
xbt_swag_free(sd_global->done_task_set);
"Task %s is not a SD_TASK_COMP_PAR_AMDAHL typed task."
"Cannot use this function.",
SD_task_get_name(task));
-
task->computation_amount = xbt_new0(double, ws_count);
task->communication_amount = xbt_new0(double, ws_count * ws_count);
+ if (task->workstation_list)
+ xbt_free(task->workstation_list);
task->workstation_nb = ws_count;
task->workstation_list = xbt_new0(SD_workstation_t, ws_count);
task->workstation_list[i];
before->workstation_nb += count;
+ if (before->computation_amount)
+ xbt_free(before->computation_amount);
+ if (before->communication_amount)
+ xbt_free(before->communication_amount);
before->computation_amount = xbt_new0(double,
before->workstation_nb);
after->workstation_nb += count;
+ if (after->computation_amount)
+ xbt_free(after->computation_amount);
+ if (after->communication_amount)
+ xbt_free(after->communication_amount);
+
after->computation_amount = xbt_new0(double, after->workstation_nb);
after->communication_amount = xbt_new0(double,
after->workstation_nb*