From fb3aaa41a046e317609c39c9b8281263a250ef2f Mon Sep 17 00:00:00 2001 From: Rickard Green Date: Fri, 1 Nov 2013 14:32:00 +0100 Subject: Ensure carrier pool only accessed by schedulers Disable carrier pool for the thread safe allocator instance 0. This since non-managed threads allocates and deallocates memory in this instance, and only managed threads are allowed to access the carrier pool. --- erts/emulator/beam/erl_alloc_util.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/erts/emulator/beam/erl_alloc_util.c b/erts/emulator/beam/erl_alloc_util.c index 1fdee4db2c..a6f256a15e 100644 --- a/erts/emulator/beam/erl_alloc_util.c +++ b/erts/emulator/beam/erl_alloc_util.c @@ -5512,7 +5512,7 @@ erts_alcu_start(Allctr_t *allctr, AllctrInit_t *init) erts_atomic_init_nob(&allctr->cpool.stat.carriers_size, 0); erts_atomic_init_nob(&allctr->cpool.stat.no_carriers, 0); allctr->cpool.check_limit_count = ERTS_ALC_CPOOL_CHECK_LIMIT_COUNT; - allctr->cpool.util_limit = init->acul; + allctr->cpool.util_limit = init->ts ? 0 : init->acul; #endif allctr->sbc_threshold = init->sbct; -- cgit v1.2.3