aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBjörn-Egil Dahlberg <egil@erlang.org>2016-04-22 12:25:26 +0200
committerBjörn-Egil Dahlberg <egil@erlang.org>2016-04-22 12:25:26 +0200
commit1d51d64979116d14258555c0c61e2a911110424b (patch)
treeab4ca360f74ee0d58a0c256f768be4e45a83c0db
parent7f5c1b2084b389cdd13dd9f98adfeaf2c7d00fdc (diff)
parent5b90345fe0e31c7d97ae41de1c53871c5815f126 (diff)
downloadotp-1d51d64979116d14258555c0c61e2a911110424b.tar.gz
otp-1d51d64979116d14258555c0c61e2a911110424b.tar.bz2
otp-1d51d64979116d14258555c0c61e2a911110424b.zip
Merge branch 'egil/fix-lock-order-trace-status'
* egil/fix-lock-order-trace-status: erts: Fix lock-order trace status
-rw-r--r--erts/emulator/beam/erl_process.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/erts/emulator/beam/erl_process.c b/erts/emulator/beam/erl_process.c
index 1a66044627..d485affa3b 100644
--- a/erts/emulator/beam/erl_process.c
+++ b/erts/emulator/beam/erl_process.c
@@ -10932,9 +10932,7 @@ erl_create_process(Process* parent, /* Parent of process (default group leader).
INITIALIZE_SHCOPY(info);
#endif
-#ifdef ERTS_SMP
erts_smp_proc_lock(parent, ERTS_PROC_LOCKS_ALL_MINOR);
-#endif
/*
* Check for errors.
@@ -11235,6 +11233,8 @@ erl_create_process(Process* parent, /* Parent of process (default group leader).
* Schedule process for execution.
*/
+ erts_smp_proc_unlock(parent, locks & ERTS_PROC_LOCKS_ALL_MINOR);
+
schedule_process(p, state, 0);
VERBOSE(DEBUG_PROCESSES, ("Created a new process: %T\n",p->common.id));
@@ -11248,6 +11248,7 @@ erl_create_process(Process* parent, /* Parent of process (default group leader).
DTRACE2(process_spawn, process_name, mfa);
}
#endif
+ return res;
error: