From: Pavel Boldin Date: Thu, 12 Sep 2013 11:27:14 +0000 (+0400) Subject: bind-add-zone: protect file with s_state_lock X-Git-Tag: rec-3.6.0-rc1~440^2 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=9ff52eb17e0a0f5b44d0a9758d0e50c37467099a;p=pdns bind-add-zone: protect file with s_state_lock --- diff --git a/pdns/backends/bind/bindbackend2.cc b/pdns/backends/bind/bindbackend2.cc index 1152cc2c9..f380729d9 100644 --- a/pdns/backends/bind/bindbackend2.cc +++ b/pdns/backends/bind/bindbackend2.cc @@ -1354,6 +1354,9 @@ BB2DomainInfo &Bind2Backend::createDomain(const string &domain, const string &fi bool Bind2Backend::createSlaveDomain(const string &ip, const string &domain, const string &account) { + // Interference with loadConfig() and DLAddDomainHandler(), use locking + Lock l(&s_state_lock); + string filename = getArg("supermaster-destdir")+'/'+domain; L << Logger::Warning << d_logprefix @@ -1375,9 +1378,6 @@ bool Bind2Backend::createSlaveDomain(const string &ip, const string &domain, con c_of << "};" << endl; c_of.close(); - // Interference with loadConfig() and DLAddDomainHandler(), use locking - Lock l(&s_state_lock); - BB2DomainInfo &bbd = createDomain(canonic(domain), filename); bbd.d_masters.push_back(ip);