}
GeoIPBackend::~GeoIPBackend() {
- WriteLock wl(&s_state_lock);
- s_rc--;
- if (s_rc == 0) { // last instance gets to cleanup
- s_geoip_files.clear();
- s_domains.clear();
+ try {
+ WriteLock wl(&s_state_lock);
+ s_rc--;
+ if (s_rc == 0) { // last instance gets to cleanup
+ s_geoip_files.clear();
+ s_domains.clear();
+ }
+ }
+ catch(...) {
}
}
LdapBackend::~LdapBackend()
{
if( m_pldap != NULL ) { delete( m_pldap ); }
- L << Logger::Notice << m_myname << " Ldap connection closed" << endl;
+ try {
+ L << Logger::Notice << m_myname << " Ldap connection closed" << endl;
+ }
+ catch (...) {
+ }
}
}
LUABackend::~LUABackend() {
- L<<Logger::Info<<backend_name<<"Closeing..." << endl;
+ try {
+ L<<Logger::Info<<backend_name<<"Closing..." << endl;
+ }
+ catch (...) {
+ }
lua_close(lua);
}
UnixsocketConnector::~UnixsocketConnector() {
if (this->connected) {
- L<<Logger::Info<<"closing socket connection"<<endl;
- close(fd);
+ try {
+ L<<Logger::Info<<"closing socket connection"<<endl;
+ }
+ catch (...) {
+ }
+ close(fd);
}
}
~RemoveSentinel()
{
- Lock l(&d_cc->d_lock);
- d_cc->d_inprogress.erase(d_dn);
+ try {
+ Lock l(&d_cc->d_lock);
+ d_cc->d_inprogress.erase(d_dn);
+ }
+ catch(...) {
+ }
}
DNSName d_dn;
CommunicatorClass* d_cc;
DNSDistPacketCache::~DNSDistPacketCache()
{
- WriteLock l(&d_lock);
+ try {
+ WriteLock l(&d_lock);
+ }
+ catch(const PDNSException& pe) {
+ }
}
bool DNSDistPacketCache::cachedValueMatches(const CacheValue& cachedValue, const DNSName& qname, uint16_t qtype, uint16_t qclass, bool tcp)
PacketCache::~PacketCache()
{
- // WriteLock l(&d_mut);
- vector<WriteLock*> locks;
- for(auto& mc : d_maps) {
- locks.push_back(new WriteLock(&mc.d_mut));
+ try {
+ // WriteLock l(&d_mut);
+ vector<WriteLock*> locks;
+ for(auto& mc : d_maps) {
+ locks.push_back(new WriteLock(&mc.d_mut));
+ }
+ for(auto wl : locks) {
+ delete wl;
+ }
}
- for(auto wl : locks) {
- delete wl;
+ catch(...) {
}
}