mirror of
https://github.com/isc-projects/bind9.git
synced 2026-03-26 12:23:04 -04:00
Zone loading happens in a different task (zone->loadtask) than other zone actions (zone->task). Thus, when zone_postload() is called in the context of zone->loadtask, it may cause zone maintenance to be queued in zone->task and another thread can then execute zone_maintenance() before zone_postload() gets a chance to finish its work in the first thread. This would not be a problem if zone_maintenance() accounted for this possibility by locking the zone before checking the state of its DNS_ZONEFLG_LOADPENDING flag. However, the zone is currently not locked before the state of that flag is checked, which may prevent zone maintenance from happening despite zone_postload() scheduling it. Fix by locking the zone in zone_maintenance() before checking the state of the zone's DNS_ZONEFLG_LOADPENDING flag. |
||
|---|---|---|
| .. | ||
| bind9 | ||
| dns | ||
| irs | ||
| isc | ||
| isccc | ||
| isccfg | ||
| ns | ||
| samples | ||
| win32/bindevt | ||
| .gitignore | ||
| Atffile | ||
| Kyuafile | ||
| Makefile.in | ||