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

openSUSE Build Service is sponsored by