From a02e2aa661bb0703e5006fc8866a1a0837119f9c Mon Sep 17 00:00:00 2001 From: degomme Date: Thu, 25 Aug 2016 17:08:36 +0200 Subject: [PATCH] plug some more "leaks" --- examples/simdag/fail/sd_fail.c | 12 ++++++++---- src/smpi/smpi_pmpi.cpp | 11 ++++++----- teshsuite/simdag/availability/availability.c | 4 +++- 3 files changed, 17 insertions(+), 10 deletions(-) diff --git a/examples/simdag/fail/sd_fail.c b/examples/simdag/fail/sd_fail.c index 0bec7da11e..30c3b750aa 100644 --- a/examples/simdag/fail/sd_fail.c +++ b/examples/simdag/fail/sd_fail.c @@ -30,7 +30,8 @@ int main(int argc, char **argv) SD_task_schedulel(task, 1, sg_host_by_name("Faulty Host")); - SD_simulate(-1.0); + xbt_dynar_t tasks = SD_simulate(-1.0); + xbt_dynar_free(&tasks); SD_task_dump(task); @@ -42,7 +43,8 @@ int main(int argc, char **argv) SD_task_schedulel(task, 1, sg_host_by_name("Safe Host")); XBT_INFO("Run the simulation again"); - SD_simulate(-1.0); + tasks = SD_simulate(-1.0); + xbt_dynar_free(&tasks); SD_task_dump(task); XBT_INFO("Task '%s' start time: %f, finish time: %f", SD_task_get_name(task), SD_task_get_start_time(task), @@ -64,7 +66,8 @@ int main(int argc, char **argv) hosts[0] = sg_host_by_name("Faulty Host"); SD_task_schedule(task, 1, hosts, computation_amount, communication_amount,-1); - SD_simulate(-1.0); + tasks = SD_simulate(-1.0); + xbt_dynar_free(&tasks); SD_task_dump(task); @@ -79,7 +82,8 @@ int main(int argc, char **argv) SD_task_schedule(task, 1, hosts, computation_amount, communication_amount,-1); XBT_INFO("Run the simulation again"); - SD_simulate(-1.0); + tasks = SD_simulate(-1.0); + xbt_dynar_free(&tasks); SD_task_dump(task); XBT_INFO("Task '%s' start time: %f, finish time: %f", SD_task_get_name(task), SD_task_get_start_time(task), diff --git a/src/smpi/smpi_pmpi.cpp b/src/smpi/smpi_pmpi.cpp index 1315a65ed6..704aaad589 100644 --- a/src/smpi/smpi_pmpi.cpp +++ b/src/smpi/smpi_pmpi.cpp @@ -1520,12 +1520,13 @@ int PMPI_Waitany(int count, MPI_Request requests[], int *index, MPI_Status * sta TRACE_smpi_recv(rank_traced, src_traced, dst_traced); } TRACE_smpi_ptp_out(rank_traced, src_traced, dst_traced, __FUNCTION__); - xbt_free(srcs); - xbt_free(dsts); - xbt_free(recvs); - xbt_free(comms); - } + xbt_free(srcs); + xbt_free(dsts); + xbt_free(recvs); + xbt_free(comms); + + smpi_bench_begin(); return MPI_SUCCESS; } diff --git a/teshsuite/simdag/availability/availability.c b/teshsuite/simdag/availability/availability.c index 1a0bfafcf6..9bcd4ce110 100644 --- a/teshsuite/simdag/availability/availability.c +++ b/teshsuite/simdag/availability/availability.c @@ -50,7 +50,9 @@ int main(int argc, char *argv[]) XBT_INFO("Scheduling DAX..."); scheduleDAX(dax); XBT_INFO("DAX scheduled"); - SD_simulate(-1); + xbt_dynar_t changed_tasks = SD_simulate(-1); + xbt_dynar_free(&changed_tasks); + XBT_INFO("Simulation done."); // Free memory -- 2.20.1