Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Fix memory leaks in simdag examples and tests.
authoragiersch <agiersch@48e7efb5-ca39-0410-a469-dd3cf9ba447f>
Tue, 22 Feb 2011 13:19:27 +0000 (13:19 +0000)
committeragiersch <agiersch@48e7efb5-ca39-0410-a469-dd3cf9ba447f>
Tue, 22 Feb 2011 13:19:27 +0000 (13:19 +0000)
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@9683 48e7efb5-ca39-0410-a469-dd3cf9ba447f

19 files changed:
examples/simdag/scheduling/minmin_test.c
examples/simdag/sd_seq_access.c
teshsuite/simdag/basic0.c
teshsuite/simdag/basic1.c
teshsuite/simdag/basic2.c
teshsuite/simdag/basic3.c
teshsuite/simdag/basic4.c
teshsuite/simdag/basic5.c
teshsuite/simdag/basic6.c
teshsuite/simdag/network/mxn/test_intra_all2all.c
teshsuite/simdag/network/mxn/test_intra_independent_comm.c
teshsuite/simdag/network/mxn/test_intra_scatter.c
teshsuite/simdag/network/p2p/test_latency1.c
teshsuite/simdag/network/p2p/test_latency2.c
teshsuite/simdag/network/p2p/test_latency3.c
teshsuite/simdag/network/p2p/test_latency_bound.c
teshsuite/simdag/network/test_reinit_costs.c
teshsuite/simdag/partask/test_comp_only_par.c
teshsuite/simdag/partask/test_comp_only_seq.c

index 898120f..194cb28 100644 (file)
@@ -353,6 +353,7 @@ int main(int argc, char **argv)
   xbt_dynar_foreach(dax, cursor, task) {
     SD_task_destroy(task);
   }
   xbt_dynar_foreach(dax, cursor, task) {
     SD_task_destroy(task);
   }
+  xbt_dynar_free_container(&dax);
 
   for (cursor = 0; cursor < total_nworkstations; cursor++)
     SD_workstation_free_attribute(workstations[cursor]);
 
   for (cursor = 0; cursor < total_nworkstations; cursor++)
     SD_workstation_free_attribute(workstations[cursor]);
index 786ce22..c1157cb 100644 (file)
@@ -116,8 +116,9 @@ int main(int argc, char **argv)
         XBT_ERROR("Shouldn't be here");
       }
     }
         XBT_ERROR("Shouldn't be here");
       }
     }
-    xbt_dynar_free_container(&changed_tasks);
+    xbt_dynar_free(&changed_tasks);
   }
   }
+  xbt_dynar_free(&changed_tasks);
 
   XBT_DEBUG("Destroying tasks...");
 
 
   XBT_DEBUG("Destroying tasks...");
 
index 3830db3..df85ce7 100644 (file)
@@ -17,6 +17,7 @@ int main(int argc, char **argv)
   SD_task_t taskInit;
   SD_task_t taskA;
   SD_task_t taskB;
   SD_task_t taskInit;
   SD_task_t taskA;
   SD_task_t taskB;
+  xbt_dynar_t ret;
 
   /* scheduling parameters */
 
 
   /* scheduling parameters */
 
@@ -50,7 +51,11 @@ int main(int argc, char **argv)
   SD_task_dependency_add(NULL, NULL, taskInit, taskA);
   SD_task_dependency_add(NULL, NULL, taskInit, taskB);
 
   SD_task_dependency_add(NULL, NULL, taskInit, taskA);
   SD_task_dependency_add(NULL, NULL, taskInit, taskB);
 
-  SD_simulate(-1.0);
+  ret = SD_simulate(-1.0);
+  xbt_dynar_free(&ret);
+  SD_task_destroy(taskInit);
+  SD_task_destroy(taskA);
+  SD_task_destroy(taskB);
 
   XBT_INFO("Simulation time: %f", SD_get_clock());
 
 
   XBT_INFO("Simulation time: %f", SD_get_clock());
 
index 24386fe..2077754 100644 (file)
@@ -17,6 +17,7 @@ int main(int argc, char **argv)
   SD_task_t taskInit;
   SD_task_t taskA;
   SD_task_t taskB;
   SD_task_t taskInit;
   SD_task_t taskA;
   SD_task_t taskB;
+  xbt_dynar_t ret;
 
   double communication_amount1 = 1000000000;
   double communication_amount2 = 1000000000;
 
   double communication_amount1 = 1000000000;
   double communication_amount2 = 1000000000;
@@ -52,7 +53,12 @@ int main(int argc, char **argv)
   SD_task_dependency_add(NULL, NULL, taskInit, taskA);
   SD_task_dependency_add(NULL, NULL, taskInit, taskB);
 
   SD_task_dependency_add(NULL, NULL, taskInit, taskA);
   SD_task_dependency_add(NULL, NULL, taskInit, taskB);
 
-  SD_simulate(-1.0);
+  ret = SD_simulate(-1.0);
+  xbt_dynar_free(&ret);
+  SD_task_destroy(taskA);
+  SD_task_destroy(taskB);
+  SD_task_destroy(taskInit);
+
   XBT_INFO("Simulation time: %f", SD_get_clock());
 
   SD_exit();
   XBT_INFO("Simulation time: %f", SD_get_clock());
 
   SD_exit();
index 68c2893..e0bd0f1 100644 (file)
@@ -17,6 +17,7 @@ int main(int argc, char **argv)
   SD_task_t taskInit;
   SD_task_t taskA;
   SD_task_t taskB;
   SD_task_t taskInit;
   SD_task_t taskA;
   SD_task_t taskB;
+  xbt_dynar_t ret;
 
   const SD_workstation_t *workstation;
 
 
   const SD_workstation_t *workstation;
 
@@ -51,7 +52,11 @@ int main(int argc, char **argv)
   SD_task_dependency_add(NULL, NULL, taskInit, taskA);
   SD_task_dependency_add(NULL, NULL, taskInit, taskB);
 
   SD_task_dependency_add(NULL, NULL, taskInit, taskA);
   SD_task_dependency_add(NULL, NULL, taskInit, taskB);
 
-  SD_simulate(-1.0);
+  ret = SD_simulate(-1.0);
+  xbt_dynar_free(&ret);
+  SD_task_destroy(taskA);
+  SD_task_destroy(taskB);
+  SD_task_destroy(taskInit);
 
   XBT_INFO("Simulation time: %f", SD_get_clock());
 
 
   XBT_INFO("Simulation time: %f", SD_get_clock());
 
index d07054d..9657e3a 100644 (file)
@@ -17,6 +17,7 @@ int main(int argc, char **argv)
   SD_task_t taskInit;
   SD_task_t taskA;
   SD_task_t taskFin;
   SD_task_t taskInit;
   SD_task_t taskA;
   SD_task_t taskFin;
+  xbt_dynar_t ret;
 
   /* scheduling parameters */
 
 
   /* scheduling parameters */
 
@@ -44,7 +45,11 @@ int main(int argc, char **argv)
   SD_task_dependency_add(NULL, NULL, taskInit, taskA);
   SD_task_dependency_add(NULL, NULL, taskA, taskFin);
 
   SD_task_dependency_add(NULL, NULL, taskInit, taskA);
   SD_task_dependency_add(NULL, NULL, taskA, taskFin);
 
-  SD_simulate(-1.0);
+  ret = SD_simulate(-1.0);
+  xbt_dynar_free(&ret);
+  SD_task_destroy(taskInit);
+  SD_task_destroy(taskA);
+  SD_task_destroy(taskFin);
 
   XBT_INFO("Simulation time: %f", SD_get_clock());
 
 
   XBT_INFO("Simulation time: %f", SD_get_clock());
 
index 4022db6..ac09265 100644 (file)
@@ -18,7 +18,7 @@ int main(int argc, char **argv)
   SD_task_t taskInit;
   SD_task_t taskA;
   SD_task_t taskFin;
   SD_task_t taskInit;
   SD_task_t taskA;
   SD_task_t taskFin;
-
+  xbt_dynar_t ret;
 
   /* scheduling parameters */
 
 
   /* scheduling parameters */
 
@@ -48,7 +48,11 @@ int main(int argc, char **argv)
   SD_task_dependency_add(NULL, NULL, taskInit, taskA);
   SD_task_dependency_add(NULL, NULL, taskA, taskFin);
 
   SD_task_dependency_add(NULL, NULL, taskInit, taskA);
   SD_task_dependency_add(NULL, NULL, taskA, taskFin);
 
-  SD_simulate(-1.0);
+  ret = SD_simulate(-1.0);
+  xbt_dynar_free(&ret);
+  SD_task_destroy(taskInit);
+  SD_task_destroy(taskA);
+  SD_task_destroy(taskFin);
 
   XBT_INFO("Simulation time: %f", SD_get_clock());
 
 
   XBT_INFO("Simulation time: %f", SD_get_clock());
 
index dcb3ac4..b400701 100644 (file)
@@ -18,7 +18,7 @@ int main(int argc, char **argv)
   SD_task_t taskInit;
   SD_task_t taskA;
   SD_task_t taskB;
   SD_task_t taskInit;
   SD_task_t taskA;
   SD_task_t taskB;
-
+  xbt_dynar_t ret;
 
   /* scheduling parameters */
 
 
   /* scheduling parameters */
 
@@ -48,7 +48,11 @@ int main(int argc, char **argv)
   SD_task_dependency_add(NULL, NULL, taskInit, taskA);
   SD_task_dependency_add(NULL, NULL, taskInit, taskB);
 
   SD_task_dependency_add(NULL, NULL, taskInit, taskA);
   SD_task_dependency_add(NULL, NULL, taskInit, taskB);
 
-  SD_simulate(-1.0);
+  ret = SD_simulate(-1.0);
+  xbt_dynar_free(&ret);
+  SD_task_destroy(taskInit);
+  SD_task_destroy(taskA);
+  SD_task_destroy(taskB);
 
   XBT_INFO("Simulation time: %f", SD_get_clock());
 
 
   XBT_INFO("Simulation time: %f", SD_get_clock());
 
index 4cbf28b..454725e 100644 (file)
@@ -18,6 +18,7 @@ int main(int argc, char **argv)
   double comm_cost[] = { 0.0, 0.0, 0.0, 0.0 };
   double comp_cost[] = { 1.0 };
   SD_task_t taskA, taskB;
   double comm_cost[] = { 0.0, 0.0, 0.0, 0.0 };
   double comp_cost[] = { 1.0 };
   SD_task_t taskA, taskB;
+  xbt_dynar_t ret;
 
   SD_init(&argc, argv);
   SD_create_environment(argv[1]);
 
   SD_init(&argc, argv);
   SD_create_environment(argv[1]);
@@ -30,7 +31,10 @@ int main(int argc, char **argv)
   SD_task_schedule(taskB, 1, SD_workstation_get_list(), comp_cost,
                    comm_cost, -1.0);
 
   SD_task_schedule(taskB, 1, SD_workstation_get_list(), comp_cost,
                    comm_cost, -1.0);
 
-  SD_simulate(-1.0);
+  ret = SD_simulate(-1.0);
+  xbt_dynar_free(&ret);
+  SD_task_destroy(taskA);
+  SD_task_destroy(taskB);
 
   XBT_INFO("Simulation time: %f", SD_get_clock());
 
 
   XBT_INFO("Simulation time: %f", SD_get_clock());
 
index bb9dfdd..6bbce82 100644 (file)
@@ -25,6 +25,7 @@ int main(int argc, char **argv)
 {
   double time;
   SD_task_t task;
 {
   double time;
   SD_task_t task;
+  xbt_dynar_t ret;
 
   double communication_amount[] = { 0.0, 1.0, 1.0, 1.0,
     1.0, 0.0, 1.0, 1.0,
 
   double communication_amount[] = { 0.0, 1.0, 1.0, 1.0,
     1.0, 0.0, 1.0, 1.0,
@@ -45,7 +46,8 @@ int main(int argc, char **argv)
   SD_task_schedule(task, 4, SD_workstation_get_list(), no_cost,
                    communication_amount, -1.0);
 
   SD_task_schedule(task, 4, SD_workstation_get_list(), no_cost,
                    communication_amount, -1.0);
 
-  SD_simulate(-1.0);
+  ret = SD_simulate(-1.0);
+  xbt_dynar_free(&ret);
 
   time = SD_get_clock();
 
 
   time = SD_get_clock();
 
index a4f4bfb..fc23249 100644 (file)
@@ -25,6 +25,7 @@ int main(int argc, char **argv)
 {
   double time;
   SD_task_t task;
 {
   double time;
   SD_task_t task;
+  xbt_dynar_t ret;
 
   double communication_amount[] = { 0.0, 1.0, 0.0, 0.0,
     0.0, 0.0, 0.0, 0.0,
 
   double communication_amount[] = { 0.0, 1.0, 0.0, 0.0,
     0.0, 0.0, 0.0, 0.0,
@@ -45,7 +46,8 @@ int main(int argc, char **argv)
   SD_task_schedule(task, 4, SD_workstation_get_list(), no_cost,
                    communication_amount, -1.0);
 
   SD_task_schedule(task, 4, SD_workstation_get_list(), no_cost,
                    communication_amount, -1.0);
 
-  SD_simulate(-1.0);
+  ret = SD_simulate(-1.0);
+  xbt_dynar_free(&ret);
 
   time = SD_get_clock();
 
 
   time = SD_get_clock();
 
index 2c9f00b..d944745 100644 (file)
@@ -26,6 +26,7 @@ int main(int argc, char **argv)
 {
   double time;
   SD_task_t task;
 {
   double time;
   SD_task_t task;
+  xbt_dynar_t ret;
 
   double communication_amount[] = { 0.0, 1.0, 2.0, 3.0,
     0.0, 0.0, 0.0, 0.0,
 
   double communication_amount[] = { 0.0, 1.0, 2.0, 3.0,
     0.0, 0.0, 0.0, 0.0,
@@ -46,7 +47,8 @@ int main(int argc, char **argv)
   SD_task_schedule(task, 4, SD_workstation_get_list(), no_cost,
                    communication_amount, -1.0);
 
   SD_task_schedule(task, 4, SD_workstation_get_list(), no_cost,
                    communication_amount, -1.0);
 
-  SD_simulate(-1.0);
+  ret = SD_simulate(-1.0);
+  xbt_dynar_free(&ret);
 
   time = SD_get_clock();
 
 
   time = SD_get_clock();
 
index 7a3b152..8005d04 100644 (file)
@@ -25,6 +25,7 @@ int main(int argc, char **argv)
   double communication_amount[] = { 0.0, 1.0, 0.0, 0.0 };
   const double no_cost[] = { 0.0, 0.0 };
   SD_task_t task;
   double communication_amount[] = { 0.0, 1.0, 0.0, 0.0 };
   const double no_cost[] = { 0.0, 0.0 };
   SD_task_t task;
+  xbt_dynar_t ret;
 
   SD_init(&argc, argv);
   SD_create_environment(argv[1]);
 
   SD_init(&argc, argv);
   SD_create_environment(argv[1]);
@@ -34,7 +35,8 @@ int main(int argc, char **argv)
   SD_task_schedule(task, 2, SD_workstation_get_list(), no_cost,
                    communication_amount, -1.0);
 
   SD_task_schedule(task, 2, SD_workstation_get_list(), no_cost,
                    communication_amount, -1.0);
 
-  SD_simulate(-1.0);
+  ret = SD_simulate(-1.0);
+  xbt_dynar_free(&ret);
 
   time = SD_get_clock();
 
 
   time = SD_get_clock();
 
index e5e1e4a..d78935d 100644 (file)
@@ -28,6 +28,7 @@ int main(int argc, char **argv)
   double communication_amount2[] = { 0.0, 1.0, 0.0, 0.0 };
   double no_cost1[] = { 0.0 };
   double no_cost[] = { 0.0, 0.0 };
   double communication_amount2[] = { 0.0, 1.0, 0.0, 0.0 };
   double no_cost1[] = { 0.0 };
   double no_cost[] = { 0.0, 0.0 };
+  xbt_dynar_t ret;
 
   SD_init(&argc, argv);
   SD_create_environment(argv[1]);
 
   SD_init(&argc, argv);
   SD_create_environment(argv[1]);
@@ -46,7 +47,8 @@ int main(int argc, char **argv)
   SD_task_dependency_add(NULL, NULL, root, task1);
   SD_task_dependency_add(NULL, NULL, root, task2);
 
   SD_task_dependency_add(NULL, NULL, root, task1);
   SD_task_dependency_add(NULL, NULL, root, task2);
 
-  SD_simulate(-1.0);
+  ret = SD_simulate(-1.0);
+  xbt_dynar_free(&ret);
 
   time = SD_get_clock();
 
 
   time = SD_get_clock();
 
index ff385fb..bf69383 100644 (file)
@@ -29,6 +29,7 @@ int main(int argc, char **argv)
   double communication_amount2[] = { 0.0, 0.0, 1.0, 0.0 };
   double no_cost1[] = { 0.0 };
   double no_cost[] = { 0.0, 0.0 };
   double communication_amount2[] = { 0.0, 0.0, 1.0, 0.0 };
   double no_cost1[] = { 0.0 };
   double no_cost[] = { 0.0, 0.0 };
+  xbt_dynar_t ret;
 
   SD_init(&argc, argv);
   SD_create_environment(argv[1]);
 
   SD_init(&argc, argv);
   SD_create_environment(argv[1]);
@@ -47,7 +48,8 @@ int main(int argc, char **argv)
   SD_task_dependency_add(NULL, NULL, root, task1);
   SD_task_dependency_add(NULL, NULL, root, task2);
 
   SD_task_dependency_add(NULL, NULL, root, task1);
   SD_task_dependency_add(NULL, NULL, root, task2);
 
-  SD_simulate(-1.0);
+  ret = SD_simulate(-1.0);
+  xbt_dynar_free(&ret);
 
   time = SD_get_clock();
 
 
   time = SD_get_clock();
 
index c52cc14..866ee27 100644 (file)
@@ -29,6 +29,7 @@ int main(int argc, char **argv)
   double time;
   double communication_amount[] = { 0.0, 1.0, 0.0, 0.0 };
   double no_cost[] = { 0.0, 0.0 };
   double time;
   double communication_amount[] = { 0.0, 1.0, 0.0, 0.0 };
   double no_cost[] = { 0.0, 0.0 };
+  xbt_dynar_t ret;
 
   SD_task_t root;
   SD_task_t task[TASK_NUM];
 
   SD_task_t root;
   SD_task_t task[TASK_NUM];
@@ -49,7 +50,8 @@ int main(int argc, char **argv)
     SD_task_dependency_add(NULL, NULL, root, task[i]);
   }
 
     SD_task_dependency_add(NULL, NULL, root, task[i]);
   }
 
-  SD_simulate(-1.0);
+  ret = SD_simulate(-1.0);
+  xbt_dynar_free(&ret);
 
   time = SD_get_clock();
 
 
   time = SD_get_clock();
 
@@ -59,6 +61,7 @@ int main(int argc, char **argv)
   for (i = 0; i < TASK_NUM; i++) {
     SD_task_destroy(task[i]);
   }
   for (i = 0; i < TASK_NUM; i++) {
     SD_task_destroy(task[i]);
   }
+  SD_task_destroy(root);
 
   SD_exit();
 
 
   SD_exit();
 
index c269ba7..58b54de 100644 (file)
@@ -38,21 +38,25 @@ static void zero_cost_test(int *argc, char *argv[])
 {
   double time;
   SD_task_t task;
 {
   double time;
   SD_task_t task;
+  xbt_dynar_t ret;
 
   SD_init(argc, argv);
   SD_create_environment(argv[1]);
 
   task = create_empty_cost_root();
 
   SD_init(argc, argv);
   SD_create_environment(argv[1]);
 
   task = create_empty_cost_root();
-  SD_simulate(-1.0);
+  ret = SD_simulate(-1.0);
+  xbt_dynar_free(&ret);
   SD_task_destroy(task);
 
   SD_application_reinit();
 
   task = create_empty_cost_root();
   SD_task_destroy(task);
 
   SD_application_reinit();
 
   task = create_empty_cost_root();
-  SD_simulate(-1.0);
+  ret = SD_simulate(-1.0);
+  xbt_dynar_free(&ret);
   SD_task_destroy(task);
 
   SD_task_destroy(task);
 
-  SD_simulate(-1.0);
+  ret = SD_simulate(-1.0);
+  xbt_dynar_free(&ret);
 
   time = SD_get_clock();
   printf("%g\n", time);
 
   time = SD_get_clock();
   printf("%g\n", time);
@@ -78,21 +82,25 @@ static void zero_cost_test2(int *argc, char *argv[])
 {
   double time;
   SD_task_t task;
 {
   double time;
   SD_task_t task;
+  xbt_dynar_t ret;
 
   SD_init(argc, argv);
   SD_create_environment(argv[1]);
 
   task = create_root_with_costs();
 
   SD_init(argc, argv);
   SD_create_environment(argv[1]);
 
   task = create_root_with_costs();
-  SD_simulate(-1.0);
+  ret = SD_simulate(-1.0);
+  xbt_dynar_free(&ret);
   SD_task_destroy(task);
 
   SD_application_reinit();
 
   task = create_empty_cost_root();
   SD_task_destroy(task);
 
   SD_application_reinit();
 
   task = create_empty_cost_root();
-  SD_simulate(-1.0);
+  ret =  SD_simulate(-1.0);
+  xbt_dynar_free(&ret);
   SD_task_destroy(task);
 
   SD_task_destroy(task);
 
-  SD_simulate(-1.0);
+  ret = SD_simulate(-1.0);
+  xbt_dynar_free(&ret);
 
   time = SD_get_clock();
   printf("%g\n", time);
 
   time = SD_get_clock();
   printf("%g\n", time);
index e75d085..073f791 100644 (file)
@@ -17,6 +17,7 @@ int main(int argc, char **argv)
   double comp_cost[] = { 1.0, 1.0 };
 
   SD_task_t task;
   double comp_cost[] = { 1.0, 1.0 };
 
   SD_task_t task;
+  xbt_dynar_t ret;
 
   SD_init(&argc, argv);
   SD_create_environment(argv[1]);
 
   SD_init(&argc, argv);
   SD_create_environment(argv[1]);
@@ -25,7 +26,8 @@ int main(int argc, char **argv)
   SD_task_schedule(task, 2, SD_workstation_get_list(), comp_cost,
                    comm_amount, -1.0);
 
   SD_task_schedule(task, 2, SD_workstation_get_list(), comp_cost,
                    comm_amount, -1.0);
 
-  SD_simulate(-1.0);
+  ret = SD_simulate(-1.0);
+  xbt_dynar_free(&ret);
 
   time = SD_get_clock();
 
 
   time = SD_get_clock();
 
index db4e202..fd67aa1 100644 (file)
@@ -17,6 +17,7 @@ int main(int argc, char **argv)
   double comp_cost[] = { 1.0 };
 
   SD_task_t task;
   double comp_cost[] = { 1.0 };
 
   SD_task_t task;
+  xbt_dynar_t ret;
 
   SD_init(&argc, argv);
   SD_create_environment(argv[1]);
 
   SD_init(&argc, argv);
   SD_create_environment(argv[1]);
@@ -25,7 +26,8 @@ int main(int argc, char **argv)
   SD_task_schedule(task, 1, SD_workstation_get_list(), comp_cost,
                    comm_amount, -1.0);
 
   SD_task_schedule(task, 1, SD_workstation_get_list(), comp_cost,
                    comm_amount, -1.0);
 
-  SD_simulate(-1.0);
+  ret = SD_simulate(-1.0);
+  xbt_dynar_free(&ret);
 
   time = SD_get_clock();
 
 
   time = SD_get_clock();