[everything] Fix circular shared pointer references.
We had a cycle from transaction_manager <-> space_map, and also from the ref_counters back up to the tm. This prevented objects being destroyed when various programs exited. From now on we'll try and only use a shared ptr if ownership is implied. Otherwise a reference will be used (eg, for up pointers).
This commit is contained in:
@@ -134,7 +134,7 @@ namespace {
|
||||
private:
|
||||
single_mapping_tree::ptr new_mapping_tree() {
|
||||
return single_mapping_tree::ptr(
|
||||
new single_mapping_tree(md_->tm_,
|
||||
new single_mapping_tree(*md_->tm_,
|
||||
mapping_tree_detail::block_time_ref_counter(md_->data_sm_)));
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user