htrdr

Solving radiative transfer in heterogeneous media
git clone git://git.meso-star.fr/htrdr.git
Log | Files | Refs | README | LICENSE

commit 397e71e17a84d8dbaaef30689bec3294a16b75e9
parent 0e7f4454c103ce4272a9257b2e0c02ba79ba2d30
Author: Vincent Forest <vincent.forest@meso-star.com>
Date:   Fri, 21 Oct 2022 17:28:23 +0200

htrdr-planeto: check memory leaks

Diffstat:
Msrc/planeto/htrdr_planeto_main.c | 15+++++++++++++++
1 file changed, 15 insertions(+), 0 deletions(-)

diff --git a/src/planeto/htrdr_planeto_main.c b/src/planeto/htrdr_planeto_main.c @@ -18,11 +18,17 @@ #include "planeto/htrdr_planeto.h" #include "planeto/htrdr_planeto_args.h" +#include "core/htrdr_log.h" + +#include <rsys/mem_allocator.h> + int htrdr_planeto_main(int argc, char** argv) { char cmd_name[] = "htrdr-planeto"; struct htrdr_planeto_args cmd_args = HTRDR_PLANETO_ARGS_DEFAULT; + const size_t memsz_begin = mem_allocated_size(); + size_t memsz_end; int is_mpi_init = 0; res_T res = RES_OK; int err = 0; @@ -41,6 +47,15 @@ htrdr_planeto_main(int argc, char** argv) exit: htrdr_planeto_args_release(&cmd_args); if(is_mpi_init) htrdr_mpi_finalize(); + + /* Check memory leaks */ + memsz_end = mem_allocated_size(); + if(memsz_begin != memsz_end) { + ASSERT(memsz_end >= memsz_begin); + fprintf(stderr, HTRDR_LOG_WARNING_PREFIX"Memory leaks: %lu Bytes\n", + (unsigned long)(memsz_end - memsz_begin)); + err = -1; + } return err; error: err = -1;