From: Remi Gacogne Date: Fri, 4 Jun 2021 14:17:31 +0000 (+0200) Subject: auth: Convert Lua records to LockGuarded X-Git-Tag: dnsdist-1.7.0-alpha1~11^2~10 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=18cb84d399130bfeaabc56dff0880c7e2d2e6122;p=thirdparty%2Fpdns.git auth: Convert Lua records to LockGuarded --- diff --git a/pdns/lua-record.cc b/pdns/lua-record.cc index 49dd69fd4e..d2d7ba3347 100644 --- a/pdns/lua-record.cc +++ b/pdns/lua-record.cc @@ -1,10 +1,10 @@ #include #include -#include #include #include #include "version.hh" #include "ext/luawrapper/include/LuaContext.hpp" +#include "lock.hh" #include "lua-auth4.hh" #include "sstuff.hh" #include "minicurl.hh" @@ -443,14 +443,16 @@ static ComboAddress pickclosest(const ComboAddress& bestwho, const vector lookup(const DNSName& name, uint16_t qtype, int zoneid) { - static UeberBackend ub; - static std::mutex mut; - std::lock_guard lock(mut); - ub.lookup(QType(qtype), name, zoneid); + static LockGuarded s_ub; + DNSZoneRecord dr; vector ret; - while(ub.get(dr)) { - ret.push_back(dr); + { + auto ub = s_ub.lock(); + ub->lookup(QType(qtype), name, zoneid); + while (ub->get(dr)) { + ret.push_back(dr); + } } return ret; }