summaryrefslogtreecommitdiff
path: root/src/expr/node_manager.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/expr/node_manager.cpp')
-rw-r--r--src/expr/node_manager.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/expr/node_manager.cpp b/src/expr/node_manager.cpp
index d0a477b9a..fb1284d0d 100644
--- a/src/expr/node_manager.cpp
+++ b/src/expr/node_manager.cpp
@@ -136,6 +136,8 @@ NodeManager::~NodeManager() {
d_operators[i] = Node::null();
}
+ d_tupleAndRecordTypes.clear();
+
Assert(!d_attrManager->inGarbageCollection() );
while(!d_zombies.empty()) {
reclaimZombies();
@@ -157,9 +159,13 @@ NodeManager::~NodeManager() {
Debug("gc:leaks") << ":end:" << endl;
}
+ // defensive coding, in case destruction-order issues pop up (they often do)
delete d_statisticsRegistry;
+ d_statisticsRegistry = NULL;
delete d_attrManager;
+ d_attrManager = NULL;
delete d_options;
+ d_options = NULL;
}
void NodeManager::reclaimZombies() {
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback