aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator/beam
diff options
context:
space:
mode:
authorLukas Larsson <[email protected]>2014-06-03 11:18:20 +0200
committerLukas Larsson <[email protected]>2014-06-05 09:04:04 +0200
commit1e377a3c944518ecdfe82c113fe73de48a44519c (patch)
treed7edab349eecfa14f81482268bdb55635afa36aa /erts/emulator/beam
parent07b8f441ca711f9812fad9e9115bab3c3aa92f79 (diff)
downloadotp-1e377a3c944518ecdfe82c113fe73de48a44519c.tar.gz
otp-1e377a3c944518ecdfe82c113fe73de48a44519c.tar.bz2
otp-1e377a3c944518ecdfe82c113fe73de48a44519c.zip
erts: tracing on send now works for registered processes
This bug was introduced in R16B. Testcases have been adapted to verify the correct behaviour.
Diffstat (limited to 'erts/emulator/beam')
-rw-r--r--erts/emulator/beam/bif.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/erts/emulator/beam/bif.c b/erts/emulator/beam/bif.c
index 06a1230ca0..fcbeb6cf5c 100644
--- a/erts/emulator/beam/bif.c
+++ b/erts/emulator/beam/bif.c
@@ -1886,8 +1886,13 @@ do_send(Process *p, Eterm to, Eterm msg, int suspend, Eterm *refp) {
Eterm id = erts_whereis_name_to_id(p, to);
rp = erts_proc_lookup(id);
- if (rp)
+ if (rp) {
+ if (IS_TRACED(p))
+ trace_send(p, to, msg);
+ if (ERTS_PROC_GET_SAVED_CALLS_BUF(p))
+ save_calls(p, &exp_send);
goto send_message;
+ }
pt = erts_port_lookup(id,
(erts_port_synchronous_ops