} else if (db != NULL) {
dns_db_detach(&db);
}
+
+ LOCK_ZONE(zone);
if (result == ISC_R_SUCCESS) {
- LOCK_ZONE(zone);
set_resigntime(zone);
zone_needdump(zone, DNS_DUMP_DELAY);
DNS_ZONE_SETFLAG(zone, DNS_ZONEFLG_NEEDNOTIFY);
- UNLOCK_ZONE(zone);
} else {
/*
* Something failed. Retry in 5 minutes.
isc_interval_set(&ival, 300, 0);
isc_time_nowplusinterval(&zone->resigntime, &ival);
}
+ UNLOCK_ZONE(zone);
INSIST(version == NULL);
}
dns_db_detach(&db);
}
+ LOCK_ZONE(zone);
if (ISC_LIST_HEAD(zone->signing) != NULL) {
isc_interval_t interval;
if (zone->update_disabled || result != ISC_R_SUCCESS) {
} else {
isc_time_settoepoch(&zone->signingtime);
}
+ UNLOCK_ZONE(zone);
INSIST(version == NULL);
}
result = ISC_R_SUCCESS;
failure:
+ LOCK_ZONE(zone);
if (result != ISC_R_SUCCESS) {
/*
* Something went wrong; try again in ten minutes or
0);
isc_time_nowplusinterval(&zone->refreshkeytime, &ival);
}
+ UNLOCK_ZONE(zone);
dns_diff_clear(&diff);
dns_diff_clear(&_sig_diff);