diff options
| author | Dag-Erling Smørgrav <des@FreeBSD.org> | 2018-09-10 16:30:18 +0000 |
|---|---|---|
| committer | Dag-Erling Smørgrav <des@FreeBSD.org> | 2018-09-10 16:30:18 +0000 |
| commit | 7b6fdf425a9ef38fe9e16779b3af25863104d9c0 (patch) | |
| tree | 1ac9dd11604f49ca6a2feae373ff4dc7e6fb0002 /services/authzone.c | |
| parent | 4289761a7b61df4b64c11ada446a187df61e6a1e (diff) | |
Notes
Diffstat (limited to 'services/authzone.c')
| -rw-r--r-- | services/authzone.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/services/authzone.c b/services/authzone.c index 1f56ac8cfc87..7ec280bafd92 100644 --- a/services/authzone.c +++ b/services/authzone.c @@ -3425,14 +3425,17 @@ xfr_process_notify(struct auth_xfer* xfr, struct module_env* env, { /* if the serial of notify is older than we have, don't fetch * a zone, we already have it */ - if(has_serial && !xfr_serial_means_update(xfr, serial)) + if(has_serial && !xfr_serial_means_update(xfr, serial)) { + lock_basic_unlock(&xfr->lock); return; + } /* start new probe with this addr src, or note serial */ if(!xfr_start_probe(xfr, env, fromhost)) { /* not started because already in progress, note the serial */ xfr_note_notify_serial(xfr, has_serial, serial); lock_basic_unlock(&xfr->lock); } + /* successful end of start_probe unlocked xfr->lock */ } int auth_zones_notify(struct auth_zones* az, struct module_env* env, |
