summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRickard Green <rickard@erlang.org>2021-10-05 22:19:16 +0200
committerRickard Green <rickard@erlang.org>2021-10-05 22:19:16 +0200
commit0b53017918a0e6470aa4785b612d4bd21de702c7 (patch)
tree9c665fd67f845afdb444195cc28d7021b88908f6
parent05b2ef94b66d168ea524f0e07e406573e80742a7 (diff)
parent8bf841386807552b76a431527eefd801e723f9c8 (diff)
downloaderlang-0b53017918a0e6470aa4785b612d4bd21de702c7.tar.gz
Merge branch 'rickard/fix-faulty-recv-mark-assert' into maint
* rickard/fix-faulty-recv-mark-assert: 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 e638e499c9..be4ee9772d 100644
--- a/erts/emulator/beam/erl_proc_sig_queue.c
+++ b/erts/emulator/beam/erl_proc_sig_queue.c
@@ -3285,11 +3285,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;
}