mirror of
https://github.com/isc-projects/bind9.git
synced 2026-06-09 00:43:21 -04:00
Pause the dbiterator before calling dns_db_find
zone.c:integrity_checks() acquires a read lock while iterating the zone database, and calls zone_check_mx() which acquires another read lock. If another thread tries to acquire a write lock in the meantime, it can deadlock. Calling dns_dbiterator_pause() to release the first read lock prevents this.
This commit is contained in:
parent
214c985876
commit
4e1faa35d5
1 changed files with 2 additions and 0 deletions
|
|
@ -3326,6 +3326,8 @@ integrity_checks(dns_zone_t *zone, dns_db_t *db) {
|
|||
goto next;
|
||||
}
|
||||
|
||||
dns_dbiterator_pause(dbiterator);
|
||||
|
||||
/*
|
||||
* Don't check the NS records at the origin.
|
||||
*/
|
||||
|
|
|
|||
Loading…
Reference in a new issue