File 0663-erts-Fix-another-bug-in-process_info-reductions.patch of Package erlang
From e45db930e7fb9980dfd774c64401cf0dda965c58 Mon Sep 17 00:00:00 2001
From: Sverker Eriksson <sverker@erlang.org>
Date: Wed, 24 Apr 2019 16:02:55 +0200
Subject: [PATCH 1/2] erts: Fix another bug in process_info(reductions)
to disregard consumed virtual reductions
which are not aggregated into p->reds
and if included may cause reduction count go backwards.
---
erts/emulator/beam/beam_emu.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/erts/emulator/beam/beam_emu.c b/erts/emulator/beam/beam_emu.c
index ce986fdd7a..370f39431a 100644
--- a/erts/emulator/beam/beam_emu.c
+++ b/erts/emulator/beam/beam_emu.c
@@ -7415,7 +7415,7 @@ erts_current_reductions(Process *c_p, Process *p)
} else if (current->fcalls < 0 && ERTS_PROC_GET_SAVED_CALLS_BUF(current)) {
return current->fcalls + CONTEXT_REDS;
} else {
- return REDS_IN(current) - current->fcalls;
+ return REDS_IN(current) - current->fcalls - erts_proc_sched_data(p)->virtual_reds;
}
}
--
2.16.4