diff options
author | Sverker Eriksson <[email protected]> | 2015-09-16 15:28:46 +0200 |
---|---|---|
committer | Sverker Eriksson <[email protected]> | 2015-10-01 19:07:26 +0200 |
commit | 5e229f3d7591b0df7d6d475065e1dc2d5273a148 (patch) | |
tree | 6ea633cb057d49e6c017732d16931105b124ff6d /erts/emulator/beam/erl_alloc.c | |
parent | 1523be48ab4071b158412f4b06fe9c8d6ba3e73c (diff) | |
download | otp-5e229f3d7591b0df7d6d475065e1dc2d5273a148.tar.gz otp-5e229f3d7591b0df7d6d475065e1dc2d5273a148.tar.bz2 otp-5e229f3d7591b0df7d6d475065e1dc2d5273a148.zip |
erts: Fix resurrection of carriers from dc_list
Problem #1: Seems the dc_list check did end up as dead code by mistake.
Solution: goto check_dc_list
Problem #2: crr->cpool.max_size was set to zero for all carriers in
dc_list, which meant no carriers were ever resurrected by cpool_fetch.
Solution: Do not use callback 'largest_fblk_in_mbc' to set max_size
as it will always return 0 (due to problem #3).
Problem #3: Resurrected carriers were broken as their one free block
was not linked.
Solution: Link free block when fetching carrier from dc_list.
Diffstat (limited to 'erts/emulator/beam/erl_alloc.c')
0 files changed, 0 insertions, 0 deletions