mirror of
https://github.com/isc-projects/bind9.git
synced 2026-03-12 05:32:42 -04:00
Only clear DNS_ZONEFLG_LOADPENDING in zone_asyncload() if zone loading is completed immediately
zone_load() is not always synchronous, it may only initiate an asynchronous load and return DNS_R_CONTINUE, which means zone loading has not yet been completed. In such a case, zone_asyncload() must not clear DNS_ZONEFLG_LOADPENDING immediately and leave that up to zone_postload().
This commit is contained in:
parent
e0205aac03
commit
749b3cacfc
1 changed files with 4 additions and 2 deletions
|
|
@ -2189,9 +2189,11 @@ zone_asyncload(isc_task_t *task, isc_event_t *event) {
|
|||
goto cleanup;
|
||||
}
|
||||
|
||||
zone_load(zone, 0, ISC_TRUE);
|
||||
result = zone_load(zone, 0, ISC_TRUE);
|
||||
|
||||
DNS_ZONE_CLRFLAG(zone, DNS_ZONEFLG_LOADPENDING);
|
||||
if (result != DNS_R_CONTINUE) {
|
||||
DNS_ZONE_CLRFLAG(zone, DNS_ZONEFLG_LOADPENDING);
|
||||
}
|
||||
UNLOCK_ZONE(zone);
|
||||
|
||||
/* Inform the zone table we've finished loading */
|
||||
|
|
|
|||
Loading…
Reference in a new issue