]> git.ipfire.org Git - thirdparty/bind9.git/commit
Refactor how ADB names and entries are stored in the dns_adb
authorEvan Hunt <each@isc.org>
Wed, 16 Mar 2022 20:58:55 +0000 (21:58 +0100)
committerOndřej Surý <ondrej@isc.org>
Wed, 30 Mar 2022 08:09:18 +0000 (10:09 +0200)
commit76bcb4d16b776e25cc67937f7d1a2fe6e365cfd7
tree02e910d881bf86ca0c37fb055cbec98c17fe3e16
parent6e11211ac65b84f774d05bd7bc09213696799347
Refactor how ADB names and entries are stored in the dns_adb

Replace adb->{names,entries} and related arrays (indexed by hashed
bucket) with a isc_ht hash tables storing the new struct
adb{name,entry}bucket_t that wraps all the variables that were
originally stored in arrays indexed by "bucket" number stored directly
in the struct dns_adb.

Previously, the task exclusive mode has been used to grow the internal
arrays used to store the named and entries objects.  The isc_ht hash
tables are now protected by the isc_rwlock instead and thus the usage of
the task exclusive mode has been removed from the dns_adb.

Co-authored-by: Ondřej Surý <ondrej@isc.org>
lib/dns/adb.c
lib/dns/include/dns/adb.h