diff options
author | Morgan Deters <mdeters@gmail.com> | 2010-10-12 21:49:07 +0000 |
---|---|---|
committer | Morgan Deters <mdeters@gmail.com> | 2010-10-12 21:49:07 +0000 |
commit | b5a68d2181e23094558069058663460b04b2303a (patch) | |
tree | dd8ae9d705988623183e0a1b53258c9d6c1587e2 /src/expr | |
parent | 3d97646be5eb3f2b50028875f4d899698228e8c7 (diff) |
fix some leaks in parser, add debug code to node manager to find more
Diffstat (limited to 'src/expr')
-rw-r--r-- | src/expr/node_manager.cpp | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/expr/node_manager.cpp b/src/expr/node_manager.cpp index 4e872ad5c..8ff83bb94 100644 --- a/src/expr/node_manager.cpp +++ b/src/expr/node_manager.cpp @@ -118,6 +118,20 @@ NodeManager::~NodeManager() { } poolRemove( &expr::NodeValue::s_null ); + + if(Debug.isOn("gc:leaks")) { + Debug("gc:leaks") << "still in pool:" << std::endl; + for(NodeValuePool::const_iterator i = d_nodeValuePool.begin(), + iend = d_nodeValuePool.end(); + i != iend; + ++i) { + Debug("gc:leaks") << " " << *i + << " id=" << (*i)->d_id + << " rc=" << (*i)->d_rc + << " " << **i << std::endl; + } + Debug("gc:leaks") << ":end:" << std::endl; + } } void NodeManager::reclaimZombies() { |