Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Annotate PoolMalloc memory in valgrind builds (#1946)
MemPoolMalloc code (i.e. memory_pools code used by default) was missing VALGRIND_MAKE_MEM_*() calls. Similar calls do exist in MemPoolChunked code (i.e. code enabled by setting MEMPOOLS environment variable to 1). Even with these markings, "memory_pools on" configuration is still not quite compatible with Valgrind leak reporting suppressions: In some cases, Valgrind may still incorrectly suppress leak reporting (or report leaks that should have been suppressed) because Valgrind associates leak suppressions with memory _allocators_ while buggy code may leak memory allocated by others. The long-term solution (if it exists) requires upgrading these markings to VALGRIND_MEMPOOL_*() API targeting memory pools, but that requires a serious effort, especially when dealing with MemPoolChunked complexities. The added markings help detect non-leak violations and improve PoolMalloc/MemPoolChunked code symmetry.
- Loading branch information