From 6a9bd051c439ef66cf00795b3829ca3ceece0497 Mon Sep 17 00:00:00 2001 From: Garrett D'Amore Date: Sun, 3 Jan 2021 10:58:38 -0800 Subject: fixes #1401 valgrind reports leaks in all tests This arranges for nng_fini to be called via atexit in the test version of the library. It also cleans up some of the actual tests to reduce extraneous (and in some cases incorrect) calls to nng_fini. --- src/core/init.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/core/init.c b/src/core/init.c index 7be879f5..5454385d 100644 --- a/src/core/init.c +++ b/src/core/init.c @@ -1,5 +1,5 @@ // -// Copyright 2020 Staysail Systems, Inc. +// Copyright 2021 Staysail Systems, Inc. // Copyright 2018 Capitar IT Group BV // // This software is supplied under the terms of the MIT License, a @@ -29,6 +29,13 @@ nni_init_helper(void) nni_mtx_init(&nni_init_mtx); NNI_LIST_INIT(&nni_init_list, nni_initializer, i_node); nni_inited = true; +#ifdef NNG_TEST_LIB + static bool cleanup = false; + if (!cleanup) { + atexit(nng_fini); + cleanup = true; + } +#endif if (((rv = nni_stat_sys_init()) != 0) || ((rv = nni_taskq_sys_init()) != 0) || -- cgit v1.2.3-70-g09d2