MINOR: pools: enable the fault injector in all allocation modes

The mem_should_fail() call enabled by DEBUG_FAIL_ALLOC used to be placed
only in the no-cache version of the allocator. Now we can generalize it
to all modes and remove the exclusive test on CONFIG_HAP_NO_GLOBAL_POOLS.
This commit is contained in:
Willy Tarreau 2021-04-15 16:43:18 +02:00
parent 2d6f628d34
commit 53a7fe49aa
2 changed files with 9 additions and 1 deletions

View File

@ -46,7 +46,7 @@
* case we disable global pools. The global pools may still be enforced
* using CONFIG_HAP_GLOBAL_POOLS though.
*/
#if defined(USE_THREAD) && defined(HA_HAVE_FAST_MALLOC) && defined(CONFIG_HAP_POOLS) && !defined(CONFIG_HAP_GLOBAL_POOLS)
#if defined(USE_THREAD) && defined(HA_HAVE_FAST_MALLOC) && !defined(CONFIG_HAP_GLOBAL_POOLS)
#define CONFIG_HAP_NO_GLOBAL_POOLS
#endif

View File

@ -156,6 +156,10 @@ void *__pool_refill_alloc(struct pool_head *pool, unsigned int avail)
int limit = pool->limit;
void *ptr = NULL;
#ifdef DEBUG_FAIL_ALLOC
if (mem_should_fail(pool))
return NULL;
#endif
if (limit && allocated >= limit) {
activity[tid].pool_fail++;
return NULL;
@ -218,6 +222,10 @@ void *__pool_refill_alloc(struct pool_head *pool, unsigned int avail)
int limit = pool->limit;
int allocated = pool->allocated, allocated_orig = allocated;
#ifdef DEBUG_FAIL_ALLOC
if (mem_should_fail(pool))
return NULL;
#endif
/* stop point */
avail += pool->used;