diff --git a/legacy/eina/ChangeLog b/legacy/eina/ChangeLog index 4384f17eff..38ea34044d 100644 --- a/legacy/eina/ChangeLog +++ b/legacy/eina/ChangeLog @@ -296,3 +296,9 @@ 2012-06-08 Mike Blumenkrantz * Fixed eina_str_split_full() to behave properly and be much faster + +2012-06-17 Carsten Haitzler (The Rasterman) + + * Add env var EINA_MEMPOOL_PASS to force mempool to try use + passthrough to malloc for debgging purposes and memory footrpint + comparisons at runtime. diff --git a/legacy/eina/src/lib/eina_mempool.c b/legacy/eina/src/lib/eina_mempool.c index 065532e8b9..385ea15928 100644 --- a/legacy/eina/src/lib/eina_mempool.c +++ b/legacy/eina/src/lib/eina_mempool.c @@ -65,15 +65,19 @@ _new_va(const char *name, const char *options, va_list args) { - Eina_Mempool_Backend *be; + Eina_Mempool_Backend *be = NULL; Eina_Mempool *mp; Eina_Error err = EINA_ERROR_NOT_MEMPOOL_MODULE; eina_error_set(0); - be = eina_hash_find(_backends, name); - if ((!be) || (!be->init)) - goto on_error; + if (getenv("EINA_MEMPOOL_PASS")) + { + be = eina_hash_find(_backends, "pass_through"); + if (!be) be = eina_hash_find(_backends, name); + } + else be = eina_hash_find(_backends, name); + if ((!be) || (!be->init)) goto on_error; err = EINA_ERROR_OUT_OF_MEMORY; mp = calloc(1, sizeof(Eina_Mempool));