void register_info(fmtfn_t to, void *to_arg) { int lock = !ERTS_IS_CRASH_DUMPING; if (lock) reg_read_lock(); hash_info(to, to_arg, &process_reg); if (lock) reg_read_unlock(); }
void erts_fun_info(int to, void *to_arg) { int lock = !ERTS_IS_CRASH_DUMPING; if (lock) erts_fun_read_lock(); hash_info(to, to_arg, &erts_fun_table); if (lock) erts_fun_read_unlock(); }
void erts_node_table_info(int to, void *to_arg) { int lock = !ERTS_IS_CRASH_DUMPING; if (lock) erts_smp_mtx_lock(&erts_node_table_mtx); hash_info(to, to_arg, &erts_node_table); if (lock) erts_smp_mtx_unlock(&erts_node_table_mtx); }
void erts_dist_table_info(int to, void *to_arg) { int lock = !ERTS_IS_CRASH_DUMPING; if (lock) erts_smp_rwmtx_rlock(&erts_dist_table_rwmtx); hash_info(to, to_arg, &erts_dist_table); if (lock) erts_smp_rwmtx_runlock(&erts_dist_table_rwmtx); }
void export_info(int to, void *to_arg) { #ifdef ERTS_SMP int lock = !ERTS_IS_CRASH_DUMPING; if (lock) export_staging_lock(); #endif index_info(to, to_arg, &export_tables[erts_active_code_ix()]); hash_info(to, to_arg, &export_tables[erts_staging_code_ix()].htable); #ifdef ERTS_SMP if (lock) export_staging_unlock(); #endif }