aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator/beam/erl_port_task.h
diff options
context:
space:
mode:
authorSverker Eriksson <[email protected]>2017-05-11 12:09:10 +0200
committerSverker Eriksson <[email protected]>2017-05-11 12:09:10 +0200
commit5aa7180ae0ad7a34d1903003cbcd4a7d5cc61858 (patch)
treedeef1efc781432b197c04be9f86a1352f88b00bd /erts/emulator/beam/erl_port_task.h
parent57faf8743b693f02eda2ba0a379e234f554d5e96 (diff)
parenteb9ffb378b9eb3b9f4a0f898e60ade01d3d48283 (diff)
downloadotp-5aa7180ae0ad7a34d1903003cbcd4a7d5cc61858.tar.gz
otp-5aa7180ae0ad7a34d1903003cbcd4a7d5cc61858.tar.bz2
otp-5aa7180ae0ad7a34d1903003cbcd4a7d5cc61858.zip
Merge branch 'sverker/fix-lc-with-lcnt'
* sverker/fix-lc-with-lcnt: erts: Add minor lock optimization for lcnt erts: Unbreak --enable-lock-checking --enable-lock-counter
Diffstat (limited to 'erts/emulator/beam/erl_port_task.h')
-rw-r--r--erts/emulator/beam/erl_port_task.h8
1 files changed, 5 insertions, 3 deletions
diff --git a/erts/emulator/beam/erl_port_task.h b/erts/emulator/beam/erl_port_task.h
index e3550e878e..858ddfe029 100644
--- a/erts/emulator/beam/erl_port_task.h
+++ b/erts/emulator/beam/erl_port_task.h
@@ -189,11 +189,13 @@ erts_port_task_init_sched(ErtsPortTaskSched *ptsp, Eterm instr_id)
erts_smp_atomic32_init_nob(&ptsp->flags, 0);
#ifdef ERTS_SMP
#ifdef ERTS_ENABLE_LOCK_COUNT
- if (!(erts_lcnt_rt_options & ERTS_LCNT_OPT_PORTLOCK))
- lock_str = NULL;
-#endif
+ erts_mtx_init_x_opt(&ptsp->mtx, lock_str, instr_id,
+ ((erts_lcnt_rt_options & ERTS_LCNT_OPT_PORTLOCK)
+ ? 0 : ERTS_LCNT_LT_DISABLE));
+#else
erts_mtx_init_x(&ptsp->mtx, lock_str, instr_id);
#endif
+#endif
}
ERTS_GLB_INLINE void