From 81d99f21ede78ab8d5fec15d0055416ac1b581f3 Mon Sep 17 00:00:00 2001 From: Adhemerval Zanella Date: Tue, 3 Jun 2014 07:50:56 -0500 Subject: [PATCH] issue-626: Fix SetupAggressiveDecommit initialization This patch fixes the SetupAggressiveDecommit initialization to run after pageheap_ creation. Current code it not enforcing it, since InitStaticVars is being called outside the static_vars module. --- src/static_vars.cc | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/src/static_vars.cc b/src/static_vars.cc index 1fa9b40..6d08ca1 100644 --- a/src/static_vars.cc +++ b/src/static_vars.cc @@ -96,6 +96,7 @@ void Static::InitStaticVars() { // in is caches as pointers that are sources of heap object liveness, // which leads to it missing some memory leaks. pageheap_ = new (MetaDataAlloc(sizeof(PageHeap))) PageHeap; + pageheap_->SetAggressiveDecommit(EnvToBool("TCMALLOC_AGGRESSIVE_DECOMMIT", false)); DLL_Init(&sampled_objects_); Sampler::InitStatics(); } @@ -114,11 +115,4 @@ REGISTER_MODULE_INITIALIZER(tcmalloc_fork_handler, SetupAtForkLocksHandler()); #endif -static -void SetupAggressiveDecommit() -{ - Static::pageheap()->SetAggressiveDecommit(EnvToBool("TCMALLOC_AGGRESSIVE_DECOMMIT", false)); -} -REGISTER_MODULE_INITIALIZER(tcmalloc_setup_aggressive_decommit, SetupAggressiveDecommit()); - } // namespace tcmalloc