robustness by reinitializing the locks if dead processes are found

This commit is contained in:
Krasimir Angelov
2023-02-22 17:41:50 +01:00
parent 476075246d
commit 35e47b9fac
3 changed files with 124 additions and 48 deletions

View File

@@ -123,8 +123,6 @@ public:
current_db->free_internal(o.as_object(), sizeof(A)+extra_bytes);
}
PGF_INTERNAL_DECL void cleanup_revisions();
PGF_INTERNAL_DECL object get_active_revision();
PGF_INTERNAL_DECL object register_revision(object o, txn_t txn_id);
PGF_INTERNAL_DECL void unregister_revision(object o);
@@ -145,7 +143,11 @@ public:
}
private:
PGF_INTERNAL_DECL int init_rev_mutex();
PGF_INTERNAL_DECL int init_write_mutex();
PGF_INTERNAL_DECL int init_rwlock_mutex();
PGF_INTERNAL_DECL int init_state();
PGF_INTERNAL_DECL void cleanup_state();
PGF_INTERNAL_DECL size_t block_descr_size(object map);
PGF_INTERNAL_DECL object new_block_descr(object o, size_t size, txn_t txn_id);