[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:
@@ -54,7 +54,7 @@ namespace {
|
||||
|
||||
void visit(btree_path const &path, era_detail const &era) {
|
||||
era_ = path[0];
|
||||
persistent_data::bitset bs(tm_, era.writeset_root, era.nr_bits);
|
||||
persistent_data::bitset bs(*tm_, era.writeset_root, era.nr_bits);
|
||||
writeset_v_.writeset_begin(era_, era.nr_bits);
|
||||
bs.walk_bitset(*this);
|
||||
writeset_v_.writeset_end();
|
||||
|
Reference in New Issue
Block a user