mirror of
http://git.haproxy.org/git/haproxy.git/
synced 2025-03-05 02:49:01 +00:00
When DEBUG_MEMORY_POOLS is used, we now use the link pointer at the end of the pool to store a pointer to the pool, and to control it during pool_free2() in order to serve four purposes : - at any instant we can know what pool an object was allocated from when examining memory, hence how we should possibly decode it ; - it serves to detect double free when they happen, as the pointer cannot be valid after the element is linked into the pool ; - it serves to detect if an element is released in the wrong pool ; - it serves as a canary, to detect if some buffers experienced an overflow before being release. All these elements will definitely help better troubleshoot strange situations, or at least confirm that certain conditions did not happen. |
||
---|---|---|
.. | ||
accept4.h | ||
base64.h | ||
buffer.h | ||
cfgparse.h | ||
chunk.h | ||
compat.h | ||
compiler.h | ||
config.h | ||
debug.h | ||
defaults.h | ||
epoll.h | ||
errors.h | ||
hash.h | ||
memory.h | ||
mini-clist.h | ||
namespace.h | ||
rbtree.h | ||
regex.h | ||
splice.h | ||
standard.h | ||
syscall.h | ||
template.h | ||
ticks.h | ||
time.h | ||
tools.h | ||
uri_auth.h | ||
version.h |