summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
907ffb6)
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@6788
48e7efb5-ca39-0410-a469-
dd3cf9ba447f
}
INFO0("------------------- Run the schedule ---------------------------");
}
INFO0("------------------- Run the schedule ---------------------------");
+ SD_task_t *changed = SD_simulate(-1);
+ free(changed);
INFO0("------------------- Produce the trace file---------------------------");
INFO1("Producing the trace of the run into %s",tracefilename);
FILE*out = fopen(tracefilename,"w");
INFO0("------------------- Produce the trace file---------------------------");
INFO1("Producing the trace of the run into %s",tracefilename);
FILE*out = fopen(tracefilename,"w");
default:
xbt_die(bprintf("Task %s is of unknown kind %d",SD_task_get_name(task),SD_task_get_kind(task)));
}
default:
xbt_die(bprintf("Task %s is of unknown kind %d",SD_task_get_name(task),SD_task_get_kind(task)));
}
void SD_task_dotty(SD_task_t task,void* out) {
unsigned int counter;
SD_dependency_t dependency;
void SD_task_dotty(SD_task_t task,void* out) {
unsigned int counter;
SD_dependency_t dependency;
- fprintf(out, " T%ld [label=\"%.20s\"",(unsigned long int)task, task->name);
+ fprintf(out, " T%p [label=\"%.20s\"",task, task->name);
switch(task->kind){
case SD_TASK_COMM_E2E:
fprintf(out,", shape=box");
switch(task->kind){
case SD_TASK_COMM_E2E:
fprintf(out,", shape=box");
case SD_TASK_COMP_SEQ:
fprintf(out,", shape=circle");
break;
case SD_TASK_COMP_SEQ:
fprintf(out,", shape=circle");
break;
+ default:
+ xbt_die("Unknown task type!");
}
fprintf(out,"];\n");
xbt_dynar_foreach(task->tasks_before,counter,dependency) {
}
fprintf(out,"];\n");
xbt_dynar_foreach(task->tasks_before,counter,dependency) {
xbt_free(task->computation_amount);
xbt_free(task->communication_amount);
xbt_free(task->computation_amount);
xbt_free(task->communication_amount);
+ task->computation_amount = task->communication_amount = NULL;
}
/* Runs a task. This function is directly called by __SD_task_try_to_run if the task
}
/* Runs a task. This function is directly called by __SD_task_try_to_run if the task
if (task->workstation_list != NULL)
xbt_free(task->workstation_list);
if (task->workstation_list != NULL)
xbt_free(task->workstation_list);
+ if (task->communication_amount)
+ xbt_free(task->communication_amount);
+
+ if (task->computation_amount)
+ xbt_free(task->computation_amount);
+
xbt_dynar_free(&task->tasks_before);
xbt_dynar_free(&task->tasks_after);
xbt_free(task);
xbt_dynar_free(&task->tasks_before);
xbt_dynar_free(&task->tasks_after);
xbt_free(task);