]> git.ipfire.org Git - thirdparty/asterisk.git/commit
pjproject: Add cache_pools debugging option.
authorRichard Mudgett <rmudgett@digium.com>
Tue, 27 Feb 2018 21:40:18 +0000 (15:40 -0600)
committerRichard Mudgett <rmudgett@digium.com>
Wed, 28 Feb 2018 17:38:40 +0000 (11:38 -0600)
commit104468ad3a6432d10acebb225774c529a229b2f0
tree6062701f1d33109345a9c5964670ea3e540c0642
parent68df9e609edfb37ef194f0e16192a8b5afe76664
pjproject: Add cache_pools debugging option.

The pool cache gets in the way of finding use after free errors of memory
pool contents.  Tools like valgrind and MALLOC_DEBUG don't know when a
pool is released because it gets put into the cache instead of being
freed.

* Added the "cache_pools" option to pjproject.conf.  Disabling the option
helps track down pool content mismanagement when using valgrind or
MALLOC_DEBUG.  The cache gets in the way of determining if the pool
contents are used after free and who freed it.

To disable the pool caching simply disable the cache_pools option in
pjproject.conf and restart Asterisk.

Sample pjproject.conf setting:
[startup]
cache_pools=no

* Made current users of the caching pool factory initialization and
destruction calls call common routines to create and destroy cached pools.

ASTERISK-27704

Change-Id: I64d5befbaeed2532f93aa027a51eb52347d2b828
CHANGES
configs/samples/pjproject.conf.sample
include/asterisk/options.h
include/asterisk/res_pjproject.h
main/asterisk.c
res/res_pjproject.c
res/res_pjsip.c
res/res_pjsip/location.c
res/res_pjsip_history.c
res/res_rtp_asterisk.c