From 17c62a8d1158e2c13be403e62d81140c705a8444 Mon Sep 17 00:00:00 2001 From: Sverker Eriksson Date: Tue, 21 Feb 2012 20:43:23 +0100 Subject: erts: Switch order between code_ix lock and thread blocking Make for simpler code when we just can block threads and continue without having to release code_ix lock and repeat code lookups to avoid race. --- erts/emulator/beam/code_ix.c | 2 ++ 1 file changed, 2 insertions(+) (limited to 'erts/emulator/beam/code_ix.c') diff --git a/erts/emulator/beam/code_ix.c b/erts/emulator/beam/code_ix.c index d4bf75558d..def7e164e2 100644 --- a/erts/emulator/beam/code_ix.c +++ b/erts/emulator/beam/code_ix.c @@ -105,6 +105,8 @@ int erts_try_lock_code_ix(Process* c_p) { int success; + ASSERT(!erts_smp_thr_progress_is_blocking()); + erts_smp_mtx_lock(&the_code_ix_queue_lock); success = !the_code_ix_lock; if (success) { -- cgit v1.2.3