aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator/beam/erl_db.h
diff options
context:
space:
mode:
authorSverker Eriksson <[email protected]>2017-02-21 16:07:50 +0100
committerSverker Eriksson <[email protected]>2017-03-22 15:27:17 +0100
commitb174a38c5f09859d3714fe5a81773aa5f2d19417 (patch)
treed2ca3cd2943d5b2e62cf69b919c617e3b2f1d053 /erts/emulator/beam/erl_db.h
parent832091f4dbf27c8bdc572383cbdeba5307d8e41c (diff)
downloadotp-b174a38c5f09859d3714fe5a81773aa5f2d19417.tar.gz
otp-b174a38c5f09859d3714fe5a81773aa5f2d19417.tar.bz2
otp-b174a38c5f09859d3714fe5a81773aa5f2d19417.zip
erts: Replace meta_pid_to{_fixed}_tab with linked lists
from process psd through all owned/fixed tables. As meta_pid_to{_fixed}_tab maps to slot in meta_main_tab which is planned for destruction. In this commit we no longer seize table lock while freeing the table (free_table_cont) as it's not needed and makes the code a bit simpler. Any concurrent operation on the table will only access lock, owner and status and then bail out.
Diffstat (limited to 'erts/emulator/beam/erl_db.h')
-rw-r--r--erts/emulator/beam/erl_db.h4
1 files changed, 1 insertions, 3 deletions
diff --git a/erts/emulator/beam/erl_db.h b/erts/emulator/beam/erl_db.h
index 1c53401590..cbf4b9e007 100644
--- a/erts/emulator/beam/erl_db.h
+++ b/erts/emulator/beam/erl_db.h
@@ -109,6 +109,7 @@ typedef enum {
void init_db(ErtsDbSpinCount);
int erts_db_process_exiting(Process *, ErtsProcLocks);
+int erts_db_execute_free_fixation(Process*, DbFixation*);
void db_info(fmtfn_t, void *, int);
void erts_db_foreach_table(void (*)(DbTable *, void *), void *);
void erts_db_foreach_offheap(DbTable *,
@@ -125,9 +126,6 @@ extern Export ets_select_continue_exp;
extern erts_smp_atomic_t erts_ets_misc_mem_size;
Eterm erts_ets_colliding_names(Process*, Eterm name, Uint cnt);
-Eterm erts_ets_get_meta_state(Process* p);
-Eterm erts_ets_restore_meta_state(Process* p, Eterm target_state);
-
Uint erts_db_get_max_tabs(void);
#endif /* ERL_DB_H__ */