aboutsummaryrefslogtreecommitdiffstats
path: root/erts
diff options
context:
space:
mode:
authorSverker Eriksson <sverker@erlang.org>2013-04-09 17:00:33 +0200
committerSverker Eriksson <sverker@erlang.org>2013-04-11 14:50:03 +0200
commit0e9c7394b12d627b08a5f1acd1ba1c21dbfd6e2a (patch)
treee299b727423f58a92f94815558591b44941154eb /erts
parent4ac91e4fc710a2fb5a3e30ac7025e52f466344cb (diff)
downloadotp-0e9c7394b12d627b08a5f1acd1ba1c21dbfd6e2a.tar.gz
otp-0e9c7394b12d627b08a5f1acd1ba1c21dbfd6e2a.tar.bz2
otp-0e9c7394b12d627b08a5f1acd1ba1c21dbfd6e2a.zip
erts: Change locking order for "port_table" and "port_sched_lock"
Keep order between the two but move them before all the allocation locks. Old order violated for "port_table" lock in ptab_list_bif_engine().
Diffstat (limited to 'erts')
-rw-r--r--erts/emulator/beam/erl_lock_check.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/erts/emulator/beam/erl_lock_check.c b/erts/emulator/beam/erl_lock_check.c
index 69bb4be717..a1d270adba 100644
--- a/erts/emulator/beam/erl_lock_check.c
+++ b/erts/emulator/beam/erl_lock_check.c
@@ -143,6 +143,8 @@ static erts_lc_lock_order_t erts_lock_order[] = {
{ "ptimer_pre_alloc_lock", "address", },
{ "btm_pre_alloc_lock", NULL, },
{ "dist_entry_out_queue", "address" },
+ { "port_sched_lock", "port_id" },
+ { "port_table", NULL },
#endif
{ "mtrace_op", NULL },
{ "instr_x", NULL },
@@ -154,10 +156,8 @@ static erts_lc_lock_order_t erts_lock_order[] = {
{ "pmmap", NULL },
#endif
#ifdef ERTS_SMP
- { "port_sched_lock", "port_id" },
{ "port_task_pre_alloc_lock", "address" },
{ "proclist_pre_alloc_lock", "address" },
- { "port_table", NULL },
{ "xports_list_pre_alloc_lock", "address" },
{ "inet_buffer_stack_lock", NULL },
{ "gc_info", NULL },