File 4481-erts-Refactoring-in-enqueue_later_op.patch of Package erlang
From 52ac427782e65b34b50cd883315a0307290ad422 Mon Sep 17 00:00:00 2001
From: Sverker Eriksson <sverker@erlang.org>
Date: Thu, 6 Oct 2022 15:39:16 +0200
Subject: [PATCH 1/2] erts: Refactoring in enqueue_later_op
---
erts/emulator/beam/erl_process.c | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/erts/emulator/beam/erl_process.c b/erts/emulator/beam/erl_process.c
index 1871b13260..d4d7130e0f 100644
--- a/erts/emulator/beam/erl_process.c
+++ b/erts/emulator/beam/erl_process.c
@@ -2297,17 +2297,18 @@ enqueue_later_op(ErtsSchedulerData *esdp,
ErtsThrPrgrLaterOp *lop)
{
ErtsThrPrgrVal later = erts_thr_progress_later(esdp);
+ ErtsAuxWorkData* awdp = &esdp->aux_work_data;
ASSERT(esdp && !ERTS_SCHEDULER_IS_DIRTY(esdp));
lop->func = later_func;
lop->data = later_data;
lop->later = later;
lop->next = NULL;
- if (!esdp->aux_work_data.later_op.last)
- esdp->aux_work_data.later_op.first = lop;
+ if (!awdp->later_op.last)
+ awdp->later_op.first = lop;
else
- esdp->aux_work_data.later_op.last->next = lop;
- esdp->aux_work_data.later_op.last = lop;
+ awdp->later_op.last->next = lop;
+ awdp->later_op.last = lop;
set_aux_work_flags_wakeup_nob(esdp->ssi,
ERTS_SSI_AUX_WORK_THR_PRGR_LATER_OP);
return later;
--
2.35.3