diff options
author | Rickard Green <[email protected]> | 2014-08-18 13:03:35 +0200 |
---|---|---|
committer | Rickard Green <[email protected]> | 2014-08-22 15:46:31 +0200 |
commit | 05c183c014c658810fc5a3391429eba9db14ac8f (patch) | |
tree | eadc2fefd919195c0a9c4d0401043c49185d0fbe /erts/emulator/beam/erl_message.c | |
parent | 88bf8f4b00e424c0b850eb5622bd10828e85444a (diff) | |
download | otp-05c183c014c658810fc5a3391429eba9db14ac8f.tar.gz otp-05c183c014c658810fc5a3391429eba9db14ac8f.tar.bz2 otp-05c183c014c658810fc5a3391429eba9db14ac8f.zip |
Ensure "runnable proc" trace messages are not sent out of order
Diffstat (limited to 'erts/emulator/beam/erl_message.c')
-rw-r--r-- | erts/emulator/beam/erl_message.c | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/erts/emulator/beam/erl_message.c b/erts/emulator/beam/erl_message.c index 59a677a12c..8870fac7d9 100644 --- a/erts/emulator/beam/erl_message.c +++ b/erts/emulator/beam/erl_message.c @@ -415,7 +415,13 @@ erts_queue_dist_message(Process *rcvr, if (!(*rcvr_locks & ERTS_PROC_LOCK_MSGQ)) erts_smp_proc_unlock(rcvr, ERTS_PROC_LOCK_MSGQ); - erts_proc_notify_new_message(rcvr); + erts_proc_notify_new_message(rcvr, +#ifdef ERTS_SMP + *rcvr_locks +#else + 0 +#endif + ); } } @@ -542,7 +548,13 @@ queue_message(Process *c_p, if (locked_msgq) erts_smp_proc_unlock(receiver, ERTS_PROC_LOCK_MSGQ); - erts_proc_notify_new_message(receiver); + erts_proc_notify_new_message(receiver, +#ifdef ERTS_SMP + *receiver_locks +#else + 0 +#endif + ); #ifndef ERTS_SMP ERTS_HOLE_CHECK(receiver); |