mirror of
https://github.com/inspircd/inspircd.git
synced 2025-03-11 19:49:02 -04:00
If the result is cached, dont bother waiting for the dns timeout, release them at the next timer tick if all modules are satisfied
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6255 e03df62e-2008-0410-955e-edbf42e46eb7
This commit is contained in:
parent
fe46f3c228
commit
adee2d71f5
@ -131,15 +131,22 @@ CmdResult cmd_nick::Handle (const char** parameters, int pcnt, userrec *user)
|
||||
if (ServerInstance->Config->NoUserDns)
|
||||
{
|
||||
user->dns_done = true;
|
||||
ServerInstance->next_call = ServerInstance->Time();
|
||||
}
|
||||
else
|
||||
{
|
||||
user->StartDNSLookup();
|
||||
if (user->dns_done)
|
||||
ServerInstance->Log(DEBUG,"Aborting dns lookup of %s because dns server experienced a failure.",user->nick);
|
||||
{
|
||||
/* Cached result or instant failure - fall right through if possible */
|
||||
ServerInstance->next_call = ServerInstance->Time();
|
||||
}
|
||||
else
|
||||
{
|
||||
if (ServerInstance->next_call > ServerInstance->Time() + ServerInstance->Config->dns_timeout)
|
||||
ServerInstance->next_call = ServerInstance->Time() + ServerInstance->Config->dns_timeout;
|
||||
}
|
||||
}
|
||||
if (ServerInstance->next_call > ServerInstance->Time() + ServerInstance->Config->dns_timeout)
|
||||
ServerInstance->next_call = ServerInstance->Time() + ServerInstance->Config->dns_timeout;
|
||||
}
|
||||
if (user->registered == REG_NICKUSER)
|
||||
{
|
||||
|
Loading…
x
Reference in New Issue
Block a user