summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRickard Green <rickard@erlang.org>2021-04-02 04:28:27 +0200
committerRickard Green <rickard@erlang.org>2021-04-02 04:28:27 +0200
commitfa48e609282dab7c4d247db6a5783ba3c266d6ed (patch)
tree9de6878cbaf654a91ef0c7054ef69d846e9d4a6c
parent40922798411c2d23ee8a99456f96d6637c62b762 (diff)
downloaderlang-fa48e609282dab7c4d247db6a5783ba3c266d6ed.tar.gz
Fix handling of recv marker when serving a process_info request
-rw-r--r--erts/emulator/beam/erl_proc_sig_queue.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/erts/emulator/beam/erl_proc_sig_queue.c b/erts/emulator/beam/erl_proc_sig_queue.c
index 8b8b3fdbe3..0b94b33b8e 100644
--- a/erts/emulator/beam/erl_proc_sig_queue.c
+++ b/erts/emulator/beam/erl_proc_sig_queue.c
@@ -3973,6 +3973,10 @@ handle_process_info(Process *c_p, ErtsSigRecvTracing *tracing,
ASSERT(tracing);
if (*next_nm_sig != &c_p->sig_qs.cont) {
+ if (ERTS_SIG_IS_RECV_MARKER(c_p->sig_qs.cont)) {
+ ErtsRecvMarker *markp = (ErtsRecvMarker *) c_p->sig_qs.cont;
+ markp->prev_next = c_p->sig_qs.last;
+ }
if (*next_nm_sig == tracing->messages.next)
tracing->messages.next = &c_p->sig_qs.cont;
*c_p->sig_qs.last = c_p->sig_qs.cont;