diff options
author | Sverker Eriksson <[email protected]> | 2019-03-28 19:32:52 +0100 |
---|---|---|
committer | Sverker Eriksson <[email protected]> | 2019-03-28 22:17:42 +0100 |
commit | 2c8e6848d3b1d13529e83d8cf76e0a2a458fea52 (patch) | |
tree | 62ff19f3d7b6203d5e03d3844b51448930cc4249 /erts/emulator/beam/msg_instrs.tab | |
parent | bff3ef4e41c7637b0a9c1ca5a42a1c28efe242f5 (diff) | |
download | otp-2c8e6848d3b1d13529e83d8cf76e0a2a458fea52.tar.gz otp-2c8e6848d3b1d13529e83d8cf76e0a2a458fea52.tar.bz2 otp-2c8e6848d3b1d13529e83d8cf76e0a2a458fea52.zip |
erts: Fix bug in process_info(reductions)
returning incorrect result as
* current process might not be RUNNING in which case REDS_IN
is actually used as def_arg_reg[5]
* FCALLS might not have been swapped out
* the SAVED_CALLS case was wrong and returned number of reds left
Diffstat (limited to 'erts/emulator/beam/msg_instrs.tab')
-rw-r--r-- | erts/emulator/beam/msg_instrs.tab | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/erts/emulator/beam/msg_instrs.tab b/erts/emulator/beam/msg_instrs.tab index 9bf3aefaca..a6a0dec451 100644 --- a/erts/emulator/beam/msg_instrs.tab +++ b/erts/emulator/beam/msg_instrs.tab @@ -105,6 +105,7 @@ i_loop_rec(Dest) { $SET_CP_I_ABS(I); c_p->arity = 0; c_p->current = NULL; + c_p->fcalls = FCALLS; FCALLS -= erts_proc_sig_receive_helper(c_p, FCALLS, neg_o_reds, &msgp, &get_out); SWAPIN; |