]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
Don't cleanup the dead nodes when pruning the tree
authorOndřej Surý <ondrej@isc.org>
Thu, 3 Nov 2022 08:06:08 +0000 (09:06 +0100)
committerOndřej Surý <ondrej@isc.org>
Thu, 3 Nov 2022 08:06:08 +0000 (09:06 +0100)
The dead nodes might get reactivated during the db iterator walks the
version of the tree, so we can't cleanup the dead nodes while the db
version is open.  Restore the previous behaviour that cleaned up the
dead nodes when we are closing the version.

lib/dns/rbtdb.c

index abe0296914e214329442369d65ee6f5d8c805126..f446b822e9b3504281d8ef30cefbfba7d51724c5 100644 (file)
@@ -2254,12 +2254,6 @@ prune_tree(isc_task_t *task, isc_event_t *event) {
                decrement_reference(rbtdb, node, 0, &nlocktype, &tlocktype,
                                    true);
 
-               /*
-                * We have both write locks, we might as well do a light
-                * dead nodes cleaning.
-                */
-               cleanup_dead_nodes(rbtdb, locknum);
-
                if (parent != NULL && parent->down == NULL) {
                        /*
                         * node was the only down child of the parent and has