static void libpmemobj_fini(void) { LOG(3, NULL); obj_fini(); out_fini(); }
/* * libpmemobj_fini -- libpmemobj cleanup routine * * Called automatically when the process terminates. */ ATTR_DESTRUCTOR void libpmemobj_fini(void) { LOG(3, NULL); obj_fini(); out_fini(); }
void obj_init(obj_t *obj) { if(!obj) return; obj_init(obj->next); try { obj->init(); } catch(...) { bq_thr_t::stop(); obj_fini(obj->next); throw; } }
void obj_fini(obj_t *obj) { if(!obj) return; obj->fini(); obj_fini(obj->next); }