diff --git a/lib/dns/qpcache.c b/lib/dns/qpcache.c index 81d293ef5b..b1bd1d7452 100644 --- a/lib/dns/qpcache.c +++ b/lib/dns/qpcache.c @@ -3459,6 +3459,11 @@ addrdataset(dns_db_t *db, dns_dbnode_t *node, dns_qpread_destroy(qpdb->tree, &modctx.qpr); } + if (cache_is_overmem) { + /* Trigger memory cleaning */ + isc_loop_rcu_barrier(isc_loop()); + } + return (result); }