]> git.ipfire.org Git - thirdparty/bind9.git/commit
Move the task creation into cache_create_db()
authorOndřej Surý <ondrej@isc.org>
Wed, 6 Mar 2024 12:26:04 +0000 (13:26 +0100)
committerMichał Kępień <michal@isc.org>
Wed, 6 Mar 2024 17:43:49 +0000 (18:43 +0100)
commitd4bc4e5cc6802c7ea382145d431782be28bc97a9
treec42870c39c56bec4b161f84891c167f525f1cf5c
parent540a5b5a2c82170acc5c08d2c2ef74a700c7236f
Move the task creation into cache_create_db()

The dns_cache_flush() drops the old database and creates a new one, but
it forgets to create the task(s) that runs the node pruning and cleaning
the rbtdb when flushing it next time.  This causes the cleaning to skip
cleaning the parent nodes (with .down == NULL) leading to increased
memory usage over time until the database is unable to keep up and just
stays overmem all the time.

(cherry picked from commit 79040a669ca26b75b06c25d27418cee7ab658013)
lib/dns/cache.c
lib/dns/include/dns/cache.h