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: http://git.ipfire.org/?a=commitdiff_plain;h=refs%2Fpull%2F954%2Fhead;p=thirdparty%2Fpdns.git bind-add-zone: protect file with s_state_lock --- diff --git a/pdns/backends/bind/bindbackend2.cc b/pdns/backends/bind/bindbackend2.cc index 1152cc2c9f..f380729d93 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);