summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorsolidcc2 <solidcc@qq.com>2024-12-12 10:32:50 +0100
committerDaniel Salzman <daniel.salzman@nic.cz>2024-12-18 09:31:54 +0100
commite90c481204c8f7049db7be959a82b41ac802f6ca (patch)
tree85976af452f4a7c51a6ed663d1029d497d4082f1
parentquery_module: fix statistics counters cleanup if allocation fails (diff)
downloadknot-e90c481204c8f7049db7be959a82b41ac802f6ca.tar.xz
knot-e90c481204c8f7049db7be959a82b41ac802f6ca.zip
fix: zone hang if last zone-reload oom
-rw-r--r--src/knot/zone/zonedb-load.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/knot/zone/zonedb-load.c b/src/knot/zone/zonedb-load.c
index abe2dc709..2643d0cd0 100644
--- a/src/knot/zone/zonedb-load.c
+++ b/src/knot/zone/zonedb-load.c
@@ -652,6 +652,7 @@ int zone_reload_modules(conf_t *conf, server_t *server, const knot_dname_t *zone
zone_t *newzone = create_zone(conf, zone_name, server, *zone);
if (newzone == NULL) {
+ knot_sem_post(&(*zone)->cow_lock);
return KNOT_ENOMEM;
}
knot_sem_wait(&newzone->cow_lock);