]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/modules/m_spanningtree/resolvers.cpp
Reset the already_sent IDs during slow garbage collection
[user/henk/code/inspircd.git] / src / modules / m_spanningtree / resolvers.cpp
index b95ba79c3dff1aa3eee8b64a8ff8d2a36155ceeb..116b2a1420ddb6d81ff24cbe91645a7b5f30f69f 100644 (file)
@@ -2,7 +2,7 @@
  *       | Inspire Internet Relay Chat Daemon |
  *       +------------------------------------+
  *
- *  InspIRCd: (C) 2002-2009 InspIRCd Development Team
+ *  InspIRCd: (C) 2002-2010 InspIRCd Development Team
  * See: http://wiki.inspircd.org/Credits
  *
  * This program is free but copyrighted software; see
@@ -44,8 +44,7 @@ void ServernameResolver::OnLookupComplete(const std::string &result, unsigned in
        TreeServer* CheckDupe = Utils->FindServer(MyLink->Name.c_str());
        if (!CheckDupe) /* Check that nobody tried to connect it successfully while we were resolving */
        {
-               TreeSocket* newsocket = new TreeSocket(Utils, result, MyLink->Port, MyLink->Timeout ? MyLink->Timeout : 10,
-                       MyLink->Name.c_str(), MyLink->Bind, myautoconnect, MyLink->Hook);
+               TreeSocket* newsocket = new TreeSocket(Utils, MyLink, myautoconnect, result);
                if (newsocket->GetFd() > -1)
                {
                        /* We're all OK */
@@ -53,9 +52,9 @@ void ServernameResolver::OnLookupComplete(const std::string &result, unsigned in
                else
                {
                        /* Something barfed, show the opers */
-                       ServerInstance->SNO->WriteToSnoMask('l', "CONNECT: Error connecting \002%s\002: %s.",MyLink->Name.c_str(),strerror(errno));
+                       ServerInstance->SNO->WriteToSnoMask('l', "CONNECT: Error connecting \002%s\002: %s.",
+                               MyLink->Name.c_str(), newsocket->getError().c_str());
                        ServerInstance->GlobalCulls.AddItem(newsocket);
-                       Utils->Creator->ConnectServer(myautoconnect);
                }
        }
 }
@@ -71,6 +70,6 @@ void ServernameResolver::OnError(ResolverError e, const std::string &errormessag
                return;
        }
        ServerInstance->SNO->WriteToSnoMask('l', "CONNECT: Error connecting \002%s\002: Unable to resolve hostname - %s", MyLink->Name.c_str(), errormessage.c_str() );
-       Utils->Creator->ConnectServer(myautoconnect);
+       Utils->Creator->ConnectServer(myautoconnect, false);
 }