File 1204-erts-Make-sure-process-reaching-max_heap_size-exits-.patch of Package erlang
From c6e3eb881f9e0fd727ebce51cc653542183ad93d Mon Sep 17 00:00:00 2001
From: Sverker Eriksson <sverker@erlang.org>
Date: Fri, 10 Feb 2023 19:58:35 +0100
Subject: [PATCH] erts: Make sure process reaching max_heap_size exits pronto
(AGAIN)
Same as problem as b76082a1385fc594a024e59d5de08f7e24760c15
but this is GC at schedule in.
---
erts/emulator/beam/erl_process.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/erts/emulator/beam/erl_process.c b/erts/emulator/beam/erl_process.c
index a632a7d7dc..a5f81c5af2 100644
--- a/erts/emulator/beam/erl_process.c
+++ b/erts/emulator/beam/erl_process.c
@@ -9950,6 +9950,7 @@ Process *erts_schedule(ErtsSchedulerData *esdp, Process *p, int calls)
if (!(state & ERTS_PSFLG_EXITING)
&& !(p->flags & (F_DELAY_GC|F_DISABLE_GC))) {
int cost = scheduler_gc_proc(p, reds);
+ state = erts_atomic32_read_nob(&p->state);
calls += cost;
reds -= cost;
if (reds <= 0)
--
2.35.3