File 0691-Document-extra-message-element-also-where-trace-mess.patch of Package erlang

From 5140a22b03b010d3e8fae68f2f095b61c720939f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?P=C3=A9ter=20G=C3=B6m=C3=B6ri?= <gomoripeti@gmail.com>
Date: Sun, 16 Jun 2019 13:32:48 +0200
Subject: [PATCH] Document extra message element also where trace message
 format is described

---
 erts/doc/src/erlang.xml        | 5 +++++
 erts/emulator/beam/erl_trace.c | 8 ++++++--
 2 files changed, 11 insertions(+), 2 deletions(-)

diff --git a/erts/doc/src/erlang.xml b/erts/doc/src/erlang.xml
index f41ed87048..0e82ceba7d 100644
--- a/erts/doc/src/erlang.xml
+++ b/erts/doc/src/erlang.xml
@@ -10129,6 +10129,11 @@ timestamp() ->
           time stamp flags are remembered, so if two are passed
           and the one with highest precedence later is disabled,
           the other one becomes active.</p>
+        <p>If a match specification (applicable only for <c>call</c>, <c>send</c>
+          and <c>'receive'</c> tracing) contains a <c>{message}</c> action
+          function with a non-boolean value, that value is added as an extra
+          element to the message tuple either in the last position or before
+          the timestamp (if it is present).</p>
         <p>Trace messages:</p>
         <marker id="trace_3_trace_messages"></marker>
         <taglist>
diff --git a/erts/emulator/beam/erl_trace.c b/erts/emulator/beam/erl_trace.c
index c85a7df5ec..9c835ac357 100644
--- a/erts/emulator/beam/erl_trace.c
+++ b/erts/emulator/beam/erl_trace.c
@@ -713,7 +713,9 @@ trace_sched(Process *p, ErtsProcLocks locks, Eterm what)
     trace_sched_aux(p, locks, what);
 }
 
-/* Send {trace_ts, Pid, Send, Msg, DestPid, Timestamp}
+/* Send {trace_ts, Pid, Send, Msg, DestPid, PamResult, Timestamp}
+ * or   {trace_ts, Pid, Send, Msg, DestPid, Timestamp}
+ * or   {trace, Pid, Send, Msg, DestPid, PamResult}
  * or   {trace, Pid, Send, Msg, DestPid}
  *
  * where 'Send' is 'send' or 'send_to_non_existing_process'.
@@ -773,7 +775,9 @@ trace_send(Process *p, Eterm to, Eterm msg)
     erts_match_set_release_result_trace(p, pam_result);
 }
 
-/* Send {trace_ts, Pid, receive, Msg, Timestamp}
+/* Send {trace_ts, Pid, receive, Msg, PamResult, Timestamp}
+ * or   {trace_ts, Pid, receive, Msg, Timestamp}
+ * or   {trace, Pid, receive, Msg, PamResult}
  * or   {trace, Pid, receive, Msg}
  */
 void
-- 
2.16.4

openSUSE Build Service is sponsored by