From b6b6b71ca4c1de25e5d8f2dbc515d052b72aba32 Mon Sep 17 00:00:00 2001 From: Erik Schnetter Date: Tue, 6 Aug 2013 12:56:10 -0400 Subject: Carpet: Release all memory when shutting down Deallocate all metadata and grid functions when shutting down. This avoids Valgrind errors. --- Carpet/Carpet/src/Shutdown.cc | 50 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) diff --git a/Carpet/Carpet/src/Shutdown.cc b/Carpet/Carpet/src/Shutdown.cc index 0d5fbe244..c9b85019c 100644 --- a/Carpet/Carpet/src/Shutdown.cc +++ b/Carpet/Carpet/src/Shutdown.cc @@ -79,6 +79,8 @@ namespace Carpet { } END_REVERSE_MGLEVEL_LOOP; + + main_timer_tree.root->stop(); if (output_timer_tree_every > 0) { @@ -93,6 +95,54 @@ namespace Carpet { if (output_xml_timer_tree) { main_timer_tree.root->outputXML(out_dir,CCTK_MyProc (cctkGH)); } + + + + // Delete timer tree + delete main_timer_tree.root; main_timer_tree.root = 0; + delete mode_timer_tree.root; mode_timer_tree.root = 0; + + // Free all memory, call all destructors + for (size_t gi=0; gi