Add code to allow for late memory cleanup.
authorWerner Koch <wk@gnupg.org>
Fri, 28 Dec 2012 18:26:59 +0000 (19:26 +0100)
committerWerner Koch <wk@gnupg.org>
Wed, 20 Mar 2013 08:50:17 +0000 (09:50 +0100)
commit2739834206f23833161898a73427b8a9c6d5d26d
tree03714abe221b38f91b2dc1a8df85d20f51b08c57
parent44159b681f8f09000fabfc3ee294d5821578d3a6
Add code to allow for late memory cleanup.

* common/init.c (mem_cleanup_item_t): New.
(run_mem_cleanup): New.
(_init_common_subsystems): Add an atexit for it.
(register_mem_cleanup_func): New.

* g10/kbnode.c (cleanup_registered): New.
(release_unused_nodes): New.
(alloc_node): Call register_mem_cleanup_func.
--

It is often time consuming to figure out whether still allocated
memory at process termination is fine (e.g. a cache) or a problem.  To
help for that register_mem_cleanup_func may now be used to cleanup
such memory.  The run time of the program will be longer; if that
turns out to be a problem we can change the code to only run in
debugging mode.
common/init.c
common/init.h
g10/kbnode.c