aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator/beam/erl_process.h
diff options
context:
space:
mode:
authorSverker Eriksson <[email protected]>2019-05-27 20:16:38 +0200
committerSverker Eriksson <[email protected]>2019-05-28 17:34:52 +0200
commit1b306c8a0755aca9de55fee2b02e38d17b696dfd (patch)
tree55d65b77a00dd86f3b95536b125d1c6f22c0f01b /erts/emulator/beam/erl_process.h
parenta0ae44f324576104760a63fe6cf63e0ca31756fc (diff)
downloadotp-1b306c8a0755aca9de55fee2b02e38d17b696dfd.tar.gz
otp-1b306c8a0755aca9de55fee2b02e38d17b696dfd.tar.bz2
otp-1b306c8a0755aca9de55fee2b02e38d17b696dfd.zip
erts: Fix bug in seq_trace:set_token(label,_)
If internal seq-trace tuple is on old heap an incorrect ref from old to new heap was made.
Diffstat (limited to 'erts/emulator/beam/erl_process.h')
-rw-r--r--erts/emulator/beam/erl_process.h5
1 files changed, 3 insertions, 2 deletions
diff --git a/erts/emulator/beam/erl_process.h b/erts/emulator/beam/erl_process.h
index a60e117bab..212774e421 100644
--- a/erts/emulator/beam/erl_process.h
+++ b/erts/emulator/beam/erl_process.h
@@ -1226,9 +1226,10 @@ void erts_check_for_holes(Process* p);
/* The sequential tracing token is a tuple of size 5:
*
- * {Flags, Label, Serial, Sender}
+ * {Flags, Label, Serial, Sender, LastCnt}
+ *
+ * WARNING: The top 5-tuple is *MUTABLE* and thus INTERNAL ONLY.
*/
-
#define SEQ_TRACE_TOKEN_ARITY(p) (arityval(*(tuple_val(SEQ_TRACE_TOKEN(p)))))
#define SEQ_TRACE_TOKEN_FLAGS(p) (*(tuple_val(SEQ_TRACE_TOKEN(p)) + 1))
#define SEQ_TRACE_TOKEN_LABEL(p) (*(tuple_val(SEQ_TRACE_TOKEN(p)) + 2))