aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator/beam/beam_bp.c
diff options
context:
space:
mode:
authorLukas Larsson <[email protected]>2016-07-07 20:59:28 +0200
committerLukas Larsson <[email protected]>2016-07-08 11:03:05 +0200
commit53bf2a9593a2f34151016f7d84fad6d213d76ee9 (patch)
tree1d9215f8f1ed508c89ce46bef50ef579655ff7b0 /erts/emulator/beam/beam_bp.c
parent0573efbc18fc20f8646cf3ff64d2affd06e03cb8 (diff)
downloadotp-53bf2a9593a2f34151016f7d84fad6d213d76ee9.tar.gz
otp-53bf2a9593a2f34151016f7d84fad6d213d76ee9.tar.bz2
otp-53bf2a9593a2f34151016f7d84fad6d213d76ee9.zip
erts: Check if return_to trace is enabled for bif
We have to do an extra check if the return_to trace is enabled here as it may have been cleared by the bif after the flags where created by the call_trace.
Diffstat (limited to 'erts/emulator/beam/beam_bp.c')
-rw-r--r--erts/emulator/beam/beam_bp.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/erts/emulator/beam/beam_bp.c b/erts/emulator/beam/beam_bp.c
index 8489897d3a..920c8b1ed0 100644
--- a/erts/emulator/beam/beam_bp.c
+++ b/erts/emulator/beam/beam_bp.c
@@ -858,7 +858,8 @@ erts_bif_trace(int bif_index, Process* p, Eterm* args, BeamInstr* I)
if (flags & MATCH_SET_RX_TRACE) {
erts_trace_return(p, ep->code, result, &ERTS_TRACER(p));
}
- if (flags & MATCH_SET_RETURN_TO_TRACE) {
+ if (flags & MATCH_SET_RETURN_TO_TRACE &&
+ IS_TRACED_FL(p, F_TRACE_RETURN_TO)) {
/* can only happen if(local)*/
if (applying) {
/* Apply of BIF, cp is in calling function */