aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator/beam/erl_lock_check.c
diff options
context:
space:
mode:
authorJohn Högberg <[email protected]>2017-10-31 07:07:32 +0100
committerJohn Högberg <[email protected]>2017-11-30 15:26:26 +0100
commit53a035457ea419d552c9a8ec5797a6f44d6eb381 (patch)
tree420ca0743456e2257e3acf6c36afe4f96454e176 /erts/emulator/beam/erl_lock_check.c
parent5036bf7d5006a6f1a4294b4a3b1f4120d39113ac (diff)
downloadotp-53a035457ea419d552c9a8ec5797a6f44d6eb381.tar.gz
otp-53a035457ea419d552c9a8ec5797a6f44d6eb381.tar.bz2
otp-53a035457ea419d552c9a8ec5797a6f44d6eb381.zip
Change resource_monitors' lock order
If a NIF monitor fired while the resource was present in an ETS table, the lock checker would erroneously report a lock order violation. This has no effect outside of debug builds.
Diffstat (limited to 'erts/emulator/beam/erl_lock_check.c')
-rw-r--r--erts/emulator/beam/erl_lock_check.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/erts/emulator/beam/erl_lock_check.c b/erts/emulator/beam/erl_lock_check.c
index 4cdef0200f..88716d478d 100644
--- a/erts/emulator/beam/erl_lock_check.c
+++ b/erts/emulator/beam/erl_lock_check.c
@@ -86,6 +86,10 @@ static erts_lc_lock_order_t erts_lock_order[] = {
{ "hipe_mfait_lock", NULL },
#endif
{ "nodes_monitors", NULL },
+ { "meta_name_tab", "address" },
+ { "db_tab", "address" },
+ { "db_tab_fix", "address" },
+ { "db_hash_slot", "address" },
{ "resource_monitors", "address" },
{ "driver_list", NULL },
{ "proc_link", "pid" },
@@ -95,12 +99,8 @@ static erts_lc_lock_order_t erts_lock_order[] = {
{ "dist_entry_links", "address" },
{ "code_write_permission", NULL },
{ "purge_state", NULL },
- { "meta_name_tab", "address" },
- { "db_tab", "address" },
{ "proc_status", "pid" },
{ "proc_trace", "pid" },
- { "db_tab_fix", "address" },
- { "db_hash_slot", "address" },
{ "node_table", NULL },
{ "dist_table", NULL },
{ "sys_tracers", NULL },