From 1d03c1e5b2e6c932c3a773518a0224d6bcd9d28b Mon Sep 17 00:00:00 2001 From: Petr Menšík Date: Mar 26 2021 13:05:56 +0000 Subject: rwlock initialization does not return value API has changed, it no longer returns a value in isc_rwlock_init. It returned always ISC_SUCCCESS on 9.16 anyway, so skip the check on every 9.16 build. --- diff --git a/src/fwd_register.c b/src/fwd_register.c index cc9764b..fcbd66f 100644 --- a/src/fwd_register.c +++ b/src/fwd_register.c @@ -6,6 +6,7 @@ #include #include +#include "config.h" #include "rbt_helper.h" #include "fwd_register.h" #include "util.h" @@ -35,7 +36,11 @@ fwdr_create(isc_mem_t *mctx, fwd_register_t **fwdrp) ZERO_PTR(fwdr); isc_mem_attach(mctx, &fwdr->mctx); CHECK(dns_rbt_create(mctx, NULL, NULL, &fwdr->rbt)); +#if LIBDNS_VERSION_MAJOR >= 1600 + (void)isc_rwlock_init(&fwdr->rwlock, 0, 0); +#else CHECK(isc_rwlock_init(&fwdr->rwlock, 0, 0)); +#endif *fwdrp = fwdr; return ISC_R_SUCCESS; diff --git a/src/zone_register.c b/src/zone_register.c index 07b1546..28d9b7a 100644 --- a/src/zone_register.c +++ b/src/zone_register.c @@ -12,6 +12,7 @@ #include #include +#include "config.h" #include "fs.h" #include "ldap_driver.h" #include "log.h" @@ -115,7 +116,12 @@ zr_create(isc_mem_t *mctx, ldap_instance_t *ldap_inst, ZERO_PTR(zr); isc_mem_attach(mctx, &zr->mctx); CHECK(dns_rbt_create(mctx, delete_zone_info, mctx, &zr->rbt)); +#if LIBDNS_VERSION_MAJOR >= 1600 + /* Never fails on BIND 9.16, even it if returns value */ + (void)isc_rwlock_init(&zr->rwlock, 0, 0); +#else CHECK(isc_rwlock_init(&zr->rwlock, 0, 0)); +#endif zr->global_settings = glob_settings; zr->ldap_inst = ldap_inst;