haproxy/doc/internals
Willy Tarreau add43fa43e DEBUG: pools: add new build option DEBUG_POOL_TRACING
This new option, when set, will cause the callers of pool_alloc() and
pool_free() to be recorded into an extra area in the pool that is expected
to be helpful for later inspection (e.g. in core dumps). For example it
may help figure that an object was released to a pool with some sub-fields
not yet released or that a use-after-free happened after releasing it,
with an immediate indication about the exact line of code that released
it (possibly an error path).

This only works with the per-thread cache, and even objects refilled from
the shared pool directly into the thread-local cache will have a NULL
there. That's not an issue since these objects have not yet been freed.
It's worth noting that pool_alloc_nocache() continues not to set any
caller pointer (e.g. when the cache is empty) because that would require
a possibly undesirable API change.

The extra cost is minimal (one pointer per object) and this completes
well with DEBUG_POOL_INTEGRITY.
2022-01-24 16:40:48 +01:00
..
api DEBUG: pools: add new build option DEBUG_POOL_TRACING 2022-01-24 16:40:48 +01:00
acl.txt DOC: fix some spelling issues over multiple files 2021-01-08 14:53:47 +01:00
body-parsing.txt DOC: Fix typos in different subsections of the documentation 2018-11-18 22:23:15 +01:00
connect-status.txt [BUG] fixed connection establishment detection 2007-04-30 14:37:43 +02:00
connection-header.txt DOC: Fix typos in different subsections of the documentation 2018-11-18 22:23:15 +01:00
connection-scale.txt [DOC] imported lots of internal documentations 2007-01-07 13:03:59 +01:00
entities-v2.txt DOC: assorted typo fixes in the documentation 2020-03-09 14:45:58 +01:00
entities.fig DOC: update the entities diagrams 2015-04-21 14:15:40 +02:00
entities.pdf DOC: update the entities diagrams 2015-04-21 14:15:40 +02:00
entities.svg DOC: update the entities diagrams 2015-04-21 14:15:40 +02:00
entities.txt DOC: assorted typo fixes in the documentation 2020-03-09 14:45:58 +01:00
fd-migration.txt CLEANUP: assorted typo fixes in the code and comments 2021-08-16 12:37:59 +02:00
hashing.txt [RELEASE] Released version 2.4-dev19 2021-05-10 07:50:26 +02:00
header-parser-speed.txt [DOC] imported lots of internal documentations 2007-01-07 13:03:59 +01:00
header-tree.txt [DOC] added some docs about http headers storage and acls 2007-04-01 09:44:10 +02:00
http-cookies.txt [DOC] add a summary about cookie incompatibilities between specs and browsers 2010-08-31 23:58:03 +02:00
http-docs.txt [DOC] added some docs about http headers storage and acls 2007-04-01 09:44:10 +02:00
http-parsing.txt DOC: add some documentation from RFC3986 about URI format 2012-01-07 23:58:54 +01:00
list.fig [RELEASE] Released version 2.4-dev17 2021-04-23 19:11:10 +02:00
list.png CLEANUP: lists/tree-wide: rename some list operations to avoid some confusion 2021-04-21 09:20:17 +02:00
listener-states.fig [RELEASE] Released version 2.3-dev6 2020-10-10 10:45:13 +02:00
listener-states.png MEDIUM: listeners: remove the now unused ZOMBIE state 2020-10-09 11:27:29 +02:00
lua_socket.fig [RELEASE] Released version 1.8-dev3 2017-10-22 10:13:45 +02:00
lua_socket.pdf MEDIUM: xref/lua: Use xref for referencing cosocket relation between stream and lua 2017-09-11 18:59:40 +02:00
muxes.fig [RELEASE] Released version 2.4-dev10 2021-02-26 22:49:10 +01:00
muxes.pdf DOC: muxes: add a diagram of the exchanges between muxes and outer world 2021-02-24 09:13:00 +01:00
muxes.png DOC: muxes: add a diagram of the exchanges between muxes and outer world 2021-02-24 09:13:00 +01:00
muxes.svg DOC: muxes: add a diagram of the exchanges between muxes and outer world 2021-02-24 09:13:00 +01:00
naming.txt [DOC] add some doc about internal naming rules 2007-03-03 11:46:27 +01:00
notes-layers.txt DOC: assorted typo fixes in the documentation 2020-03-09 14:45:58 +01:00
pattern.dia DOC: pattern: pattern organisation schematics 2014-03-20 14:10:49 +01:00
pattern.pdf DOC: pattern: pattern organisation schematics 2014-03-20 14:10:49 +01:00
polling-states.fig [RELEASE] Released version 2.3-dev7 2020-10-17 10:31:50 +02:00
repartition-be-fe-fi.txt [DOC] imported lots of internal documentations 2007-01-07 13:03:59 +01:00
sched.fig [RELEASE] Released version 2.4-dev10 2021-02-26 22:49:10 +01:00
sched.pdf DOC: scheduler: add a diagram showing the different queues and their usages 2021-02-26 17:49:37 +01:00
sched.png DOC: scheduler: add a diagram showing the different queues and their usages 2021-02-26 17:49:37 +01:00
sched.svg DOC: scheduler: add a diagram showing the different queues and their usages 2021-02-26 17:49:37 +01:00
sequence.fig DOC: commit a few old design thoughts files 2014-06-19 21:02:32 +02:00
ssl_cert.dia DOC: internals: update the SSL architecture schema 2021-05-17 10:50:24 +02:00
stats-v2.txt [DOC] imported lots of internal documentations 2007-01-07 13:03:59 +01:00
stream-sock-states.fig [RELEASE] Released version 2.0-dev6 2019-06-07 06:12:59 +02:00