summaryrefslogtreecommitdiff
path: root/src/central_freelist.h
diff options
context:
space:
mode:
authorcsilvers <csilvers@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>2011-10-18 20:57:45 +0000
committercsilvers <csilvers@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>2011-10-18 20:57:45 +0000
commita6076edd177d59e67207753b799ce047a3663cb0 (patch)
tree5b3bce7c1fbc9277d82d62379000acbf32374a73 /src/central_freelist.h
parentc2eedce2a718913ed6264ac8e96571c233761e3b (diff)
downloadgperftools-a6076edd177d59e67207753b799ce047a3663cb0.tar.gz
* Get the deallocation stack trace outside the lock (sean)
* Make PageHeap dynamically allocated for leak checks (maxim) * BUGFIX: Fix probing of nm -f behavior in pprof (dpeng) * PORTING: Add "support" for MIPS cycletimer * BUGFIX: Fix a race with the CentralFreeList lock (sanjay) * Allow us to compile on OS X 10.6 and run on 10.5 (raltherr) * Support /pprof/censusprofile url arguments (rajatjain) * Die in configure when g++ is't installed (csilvers) * Change IgnoreObject to return its argument (nlewycky) * Update malloc-hook files to support more CPUs * Move stack trace collecting out of the mutex (taylorc) * BUGFIX: write our own strstr to avoid libc problems (csilvers) * use simple callgrind compression facility in pprof * print an error message when we can't run pprof to symbolize (csilvers) git-svn-id: http://gperftools.googlecode.com/svn/trunk@120 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
Diffstat (limited to 'src/central_freelist.h')
-rw-r--r--src/central_freelist.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/central_freelist.h b/src/central_freelist.h
index 27e9d35..4fd5799 100644
--- a/src/central_freelist.h
+++ b/src/central_freelist.h
@@ -48,6 +48,11 @@ namespace tcmalloc {
// Data kept per size-class in central cache.
class CentralFreeList {
public:
+ // A CentralFreeList may be used before its constructor runs.
+ // So we prevent lock_'s constructor from doing anything to the
+ // lock_ state.
+ CentralFreeList() : lock_(base::LINKER_INITIALIZED) { }
+
void Init(size_t cl);
// These methods all do internal locking.