diff --git a/src/modules/eina/mp/one_big/eina_one_big.c b/src/modules/eina/mp/one_big/eina_one_big.c index e384e52632..4bfe2a86b7 100644 --- a/src/modules/eina/mp/one_big/eina_one_big.c +++ b/src/modules/eina/mp/one_big/eina_one_big.c @@ -160,6 +160,10 @@ eina_one_big_free(void *data, void *ptr) { eina_trash_push(&pool->empty, ptr); pool->usage--; + +#ifndef NVALGRIND + VALGRIND_MEMPOOL_FREE(pool, ptr); +#endif } else { @@ -178,14 +182,14 @@ eina_one_big_free(void *data, void *ptr) #endif pool->over_list = eina_inlist_remove(pool->over_list, il); + +#ifndef NVALGRIND + VALGRIND_MEMPOOL_FREE(pool, ptr); +#endif free(ptr); pool->over--; } -#ifndef NVALGRIND - VALGRIND_MEMPOOL_FREE(pool, ptr); -#endif - eina_lock_release(&pool->mutex); }