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.
diff --git a/include/haproxy/pool-t.h b/include/haproxy/pool-t.h
index 4b185ef..073fe32 100644
--- a/include/haproxy/pool-t.h
+++ b/include/haproxy/pool-t.h
@@ -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
diff --git a/src/pool.c b/src/pool.c
index b493a93..59cc508 100644
--- a/src/pool.c
+++ b/src/pool.c
@@ -156,6 +156,10 @@
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 @@
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;