Fix nfill = 0 bug when ncached_max is 1
This commit is contained in:
parent
6fb3b6a8e4
commit
d88fa71bbd
@ -1023,6 +1023,7 @@ arena_cache_bin_fill_small(tsdn_t *tsdn, arena_t *arena,
|
||||
cache_bin_t *cache_bin, cache_bin_info_t *cache_bin_info, szind_t binind,
|
||||
const unsigned nfill) {
|
||||
assert(cache_bin_ncached_get_local(cache_bin, cache_bin_info) == 0);
|
||||
assert(nfill != 0);
|
||||
|
||||
const bin_info_t *bin_info = &bin_infos[binind];
|
||||
|
||||
|
@ -257,6 +257,9 @@ tcache_alloc_small_hard(tsdn_t *tsdn, arena_t *arena,
|
||||
assert(!tcache_bin_disabled(binind, cache_bin, tcache_slow));
|
||||
unsigned nfill = cache_bin_info_ncached_max_get(cache_bin,
|
||||
&cache_bin->bin_info) >> tcache_slow->lg_fill_div[binind];
|
||||
if (nfill == 0) {
|
||||
nfill = 1;
|
||||
}
|
||||
arena_cache_bin_fill_small(tsdn, arena, cache_bin,
|
||||
&cache_bin->bin_info, binind, nfill);
|
||||
tcache_slow->bin_refilled[binind] = true;
|
||||
|
Loading…
Reference in New Issue
Block a user