Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Merge branch 'master' of git+ssh://scm.gforge.inria.fr//gitroot/simgrid/simgrid
[simgrid.git] / src / simdag / sd_dotloader.cpp
index 0960689..8e3f736 100644 (file)
@@ -212,10 +212,10 @@ xbt_dynar_t SD_dotload_generic(const char* filename, bool sequential, bool sched
 
   if(schedule){
     if (schedule_success) {
-      const sg_host_t *workstations = sg_host_list ();
-      for (auto elm : computers) {
+      sg_host_t* workstations = sg_host_list();
+      for (auto const& elm : computers) {
         SD_task_t previous_task = nullptr;
-        for (auto task : *elm.second) {
+        for (auto const& task : *elm.second) {
           /* add dependency between the previous and the task to avoid parallel execution */
           if(task){
             if (previous_task && not SD_task_dependency_exists(previous_task, task))
@@ -227,9 +227,10 @@ xbt_dynar_t SD_dotload_generic(const char* filename, bool sequential, bool sched
         }
         delete elm.second;
       }
+      xbt_free(workstations);
     } else {
       XBT_WARN("The scheduling is ignored");
-      for (auto elm : computers)
+      for (auto const& elm : computers)
         delete elm.second;
       xbt_dynar_free(&result);
       result = nullptr;