summaryrefslogtreecommitdiff
path: root/src/expr/node_manager.cpp
diff options
context:
space:
mode:
authorMorgan Deters <mdeters@gmail.com>2010-10-12 21:49:07 +0000
committerMorgan Deters <mdeters@gmail.com>2010-10-12 21:49:07 +0000
commitb5a68d2181e23094558069058663460b04b2303a (patch)
treedd8ae9d705988623183e0a1b53258c9d6c1587e2 /src/expr/node_manager.cpp
parent3d97646be5eb3f2b50028875f4d899698228e8c7 (diff)
fix some leaks in parser, add debug code to node manager to find more
Diffstat (limited to 'src/expr/node_manager.cpp')
-rw-r--r--src/expr/node_manager.cpp14
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() {
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback