+ if (rl.find(watchid) != rl.end())
+ {
+ /* Still exists, whack it */
+ if (rl.find(watchid)->second == watch)
+ {
+ if (ServerInstance->Res->Classes[watchid])
+ {
+ ServerInstance->Res->Classes[watchid]->OnError(RESOLVER_TIMEOUT, "Request timed out");
+ delete ServerInstance->Res->Classes[watchid];
+ ServerInstance->Res->Classes[watchid] = NULL;
+ }
+ rl.erase(rl.find(watchid));
+ delete watch;
+ ServerInstance->Log(DEBUG, "DNS timeout on %08x squished pointer", watch);
+ }
+ return;
+ }
+ ServerInstance->Log(DEBUG, "DNS timeout on %08x: result already received!", watch);