]> granicus.if.org Git - pdns/commitdiff
bind-add-zone: protect file with s_state_lock
authorPavel Boldin <boldin.pavel@gmail.com>
Thu, 12 Sep 2013 11:27:14 +0000 (15:27 +0400)
committerPavel Boldin <boldin.pavel@gmail.com>
Thu, 12 Sep 2013 11:27:14 +0000 (15:27 +0400)
pdns/backends/bind/bindbackend2.cc

index 1152cc2c9f204f7fec914e46d0f7027b0db6cfac..f380729d93154d4cddeb973fae547d5f10189751 100644 (file)
@@ -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);