aboutsummaryrefslogtreecommitdiffstats
path: root/erts
diff options
context:
space:
mode:
authorRickard Green <[email protected]>2016-05-31 20:01:32 +0200
committerRickard Green <[email protected]>2016-05-31 20:01:32 +0200
commit379d30b6f4c57528187a837220c08240e386d639 (patch)
treecab1350ff630e24b9899e35d9af7f25f91848419 /erts
parent5add0e9c741379a928f21c783316310fec6de095 (diff)
parentfa0d9d191393e74a579f9c2cacb31b18f715ad6c (diff)
downloadotp-379d30b6f4c57528187a837220c08240e386d639.tar.gz
otp-379d30b6f4c57528187a837220c08240e386d639.tar.bz2
otp-379d30b6f4c57528187a837220c08240e386d639.zip
Merge branch 'rickard/off_heap-fix/OTP-13366'
* rickard/off_heap-fix/OTP-13366: Fix bad assertion Properly close message factories in erts_factory_trim_and_close()
Diffstat (limited to 'erts')
-rw-r--r--erts/emulator/beam/erl_message.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/erts/emulator/beam/erl_message.c b/erts/emulator/beam/erl_message.c
index ac7b9d6606..71ab92937d 100644
--- a/erts/emulator/beam/erl_message.c
+++ b/erts/emulator/beam/erl_message.c
@@ -1345,7 +1345,7 @@ erts_prep_msgq_for_inspection(Process *c_p, Process *rp,
mpp = i == 0 ? &rp->msg.first : &mip[i-1].msgp->next;
- ASSERT((*mpp)->next == bad_mp);
+ ASSERT(*mpp == bad_mp);
erts_msgq_update_internal_pointers(&rp->msg, mpp, &bad_mp->next);
@@ -1725,7 +1725,7 @@ void erts_factory_trim_and_close(ErtsHeapFactory* factory,
case FACTORY_MESSAGE: {
ErtsMessage *mp = factory->message;
if (mp->data.attached == ERTS_MSG_COMBINED_HFRAG) {
- if (!mp->hfrag.next) {
+ if (!factory->heap_frags) {
Uint sz = factory->hp - factory->hp_start;
mp = erts_shrink_message(mp, sz, brefs, brefs_size);
factory->message = mp;