From d56e60139a8c8f9fad434917ea236e8d2b1ea5ae Mon Sep 17 00:00:00 2001 From: brain Date: Thu, 1 Dec 2005 23:59:40 +0000 Subject: Multithreaded DNS -- not tested!!!! git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@2088 e03df62e-2008-0410-955e-edbf42e46eb7 --- src/commands.cpp | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) (limited to 'src/commands.cpp') diff --git a/src/commands.cpp b/src/commands.cpp index 04d54d18a..f02c4bfcc 100644 --- a/src/commands.cpp +++ b/src/commands.cpp @@ -50,6 +50,7 @@ using namespace std; #include #include #include +#include #ifndef RUSAGE_SELF #define RUSAGE_SELF 0 #define RUSAGE_CHILDREN -1 @@ -1719,9 +1720,16 @@ void handle_nick(char **parameters, int pcnt, userrec *user) user->registered = (user->registered | 2); // dont attempt to look up the dns until they pick a nick... because otherwise their pointer WILL change // and unless we're lucky we'll get a duff one later on. - user->dns_done = (!lookup_dns(user->nick)); - if (user->dns_done) - log(DEBUG,"Aborting dns lookup of %s because dns server experienced a failure.",user->nick); + //user->dns_done = (!lookup_dns(user->nick)); + //if (user->dns_done) + // log(DEBUG,"Aborting dns lookup of %s because dns server experienced a failure.",user->nick); + + // initialize their dns lookup thread + if (pthread_create(&user->dnsthread, NULL, dns_task, (void *)user) != 0) + { + log(DEBUG,"Failed to create DNS lookup thread for user %s",user->nick); + } + } if (user->registered == 3) { -- cgit v1.3.1-10-gc9f91