Changeset 2109
- Timestamp:
- 03/31/11 09:51:27 (2 years ago)
- Location:
- trunk/pdns/pdns
- Files:
-
- 2 modified
-
dnsbackend.hh (modified) (1 diff)
-
slavecommunicator.cc (modified) (5 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/pdns/pdns/dnsbackend.hh
r2058 r2109 44 44 struct DomainInfo 45 45 { 46 DomainInfo() : backend(0) {} 46 47 uint32_t id; 47 48 string zone; -
trunk/pdns/pdns/slavecommunicator.cc
r2107 r2109 72 72 L<<Logger::Error<<"Initiating transfer of '"<<domain<<"' from remote '"<<remote<<"'"<<endl; 73 73 uint32_t domain_id; 74 PacketHandler P; 74 PacketHandler P; // fresh UeberBackend 75 75 76 76 DomainInfo di; … … 78 78 bool first=true; 79 79 try { 80 UeberBackend *B=dynamic_cast<UeberBackend *>(P.getBackend()); 80 UeberBackend *B=dynamic_cast<UeberBackend *>(P.getBackend()); // copy of the same UeberBackend 81 81 NSEC3PARAMRecordContent ns3pr; 82 82 bool narrow; 83 DNSSECKeeper dk; 83 DNSSECKeeper dk; // has its own ueberbackend 84 84 bool dnssecZone = false; 85 85 bool haveNSEC3=false; … … 98 98 } 99 99 100 if(!B->getDomainInfo(domain, di) || !di.backend) { 100 if(!B->getDomainInfo(domain, di) || !di.backend) { // di.backend and B are mostly identical 101 101 L<<Logger::Error<<"Can't determine backend for domain '"<<domain<<"'"<<endl; 102 102 return; … … 288 288 { 289 289 Lock l(&d_lock); 290 d_tocheck.insert(di); 290 DomainInfo ours = di; 291 ours.backend = 0; 292 d_tocheck.insert(ours); 291 293 d_any_sem.post(); // kick the loop! 292 294 } … … 365 367 BOOST_FOREACH(val_t& val, sdomains) { 366 368 DomainInfo& di(val.first); 369 if(!di.backend) // might've come from the packethandler 370 B->getDomainInfo(di.zone, di); 367 371 if(!ssr.d_freshness.count(di.id)) 368 372 continue;