summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRickard Green <rickard@erlang.org>2021-10-05 22:19:50 +0200
committerRickard Green <rickard@erlang.org>2021-10-05 22:19:50 +0200
commitb7c11c33e2c0486438729b480d6e83c307f443fe (patch)
treeceff8a41643b122a380aedc72cb081432c76114b
parentc782060a100352f383eadbe312685d984773f44c (diff)
parent0b53017918a0e6470aa4785b612d4bd21de702c7 (diff)
downloaderlang-b7c11c33e2c0486438729b480d6e83c307f443fe.tar.gz
Merge branch 'maint'
* maint: Fix faulty recv mark assert
-rw-r--r--erts/emulator/beam/erl_proc_sig_queue.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/erts/emulator/beam/erl_proc_sig_queue.c b/erts/emulator/beam/erl_proc_sig_queue.c
index d64cb39891..7d1bde0019 100644
--- a/erts/emulator/beam/erl_proc_sig_queue.c
+++ b/erts/emulator/beam/erl_proc_sig_queue.c
@@ -3358,11 +3358,10 @@ recv_marker_insert(Process *c_p, ErtsRecvMarker *markp, int setting)
if (!setting && *c_p->sig_qs.save == (ErtsMessage *) &markp->sig) {
/*
- * This should most likely never happen (which is why the assert
- * is here), but if it does, leave the message queue in a valid
- * state...
+ * This can happen when a recv marker recently entered the message
+ * queue via erts_proc_sig_handle_incoming() through the midddle
+ * signal queue...
*/
- ASSERT(0);
markp->pass++;
c_p->sig_qs.save = c_p->sig_qs.last;
}