aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRickard Green <[email protected]>2013-11-01 14:32:00 +0100
committerRickard Green <[email protected]>2013-11-01 14:32:00 +0100
commitfb3aaa41a046e317609c39c9b8281263a250ef2f (patch)
treea4c36c3d64b7470be42893688c7abce6f28cfa60
parentf7659aeadf2b50acc6140c62a1d1587bf0a8795c (diff)
downloadotp-fb3aaa41a046e317609c39c9b8281263a250ef2f.tar.gz
otp-fb3aaa41a046e317609c39c9b8281263a250ef2f.tar.bz2
otp-fb3aaa41a046e317609c39c9b8281263a250ef2f.zip
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.
-rw-r--r--erts/emulator/beam/erl_alloc_util.c2
1 files changed, 1 insertions, 1 deletions
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;