]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/dnsqueue.cpp
Left figure from output
[user/henk/code/inspircd.git] / src / dnsqueue.cpp
index 99f32988e55f382d60f1a2aaee2fbcc37ed9c843..2e8cbaabbf549669c804a4f58d6773cb06183492 100644 (file)
@@ -60,6 +60,9 @@ using namespace std;
 #include "dns.h"
 #include "helperfuncs.h"
 #include "hashcomp.h"
+#include "socketengine.h"
+
+extern SocketEngine* SE;
 
 extern int MaxWhoResults;
 
@@ -131,14 +134,14 @@ public:
                return false;
        }
 
-       bool Done()
+       bool Done(int fdcheck)
        {
                if (hostname != "")
                {
                        log(DEBUG,"Doing forward lookup here with host %s",hostname.c_str());
                        // doing forward lookup
                        userrec* usr = NULL;
-                       if (resolver2.HasResult())
+                       if (resolver2.HasResult(fdcheck))
                        {
                                log(DEBUG,"resolver2 has result");
                                if (resolver2.GetFD() != 0)
@@ -190,7 +193,7 @@ public:
                {
                        // doing reverse lookup
                        userrec* usr = NULL;
-                       if (resolver1.HasResult())
+                       if (resolver1.HasResult(fdcheck))
                        {
                                usr = Find(u);
                                if ((usr) && (usr->dns_done))
@@ -264,7 +267,7 @@ bool lookup_dns(std::string nick)
        return false;
 }
 
-void dns_poll()
+void dns_poll(int fdcheck)
 {
        // do we have items in the queue?
        for (int j = 0; j <= max_fd_alloc; j++)
@@ -272,7 +275,7 @@ void dns_poll()
                // are any ready, or stale?
                if (dnsq[j].GetFD())
                {
-                       if (dnsq[j].Done())
+                       if (dnsq[j].Done(fdcheck))
                        {
                                dnsq[j].Reset();
                        }