diff options
| author | 2006-10-02 01:23:23 +0000 | |
|---|---|---|
| committer | 2006-10-02 01:23:23 +0000 | |
| commit | 1a38560be2b0203086e7f62b2235e206e43f5f91 (patch) | |
| tree | b1478582cafdbf86ae83862be0f1bba1514df8c0 /src/users.cpp | |
| parent | Brain, please review this commit ASAP. jamie, hopefully this fixes the crash (diff) | |
Better fix to crash jamie experienced. epoll was the only socket engine affected by this, and only under weird circumstances like a zlined user. Previous commit will work fine, this is nicer, and more complete.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5385 e03df62e-2008-0410-955e-edbf42e46eb7
Diffstat (limited to 'src/users.cpp')
| -rw-r--r-- | src/users.cpp | 22 |
1 files changed, 9 insertions, 13 deletions
diff --git a/src/users.cpp b/src/users.cpp index 72b2d79a5..e80a476f3 100644 --- a/src/users.cpp +++ b/src/users.cpp @@ -957,19 +957,6 @@ void userrec::AddClient(InspIRCd* Instance, int socket, int port, bool iscached, return; } - /* - * XXX really really fixme! QuitUser doesn't like having a null entry in the ref table it seems, moving this up so - * zlines dont crash ircd. we need a better solution, as this is obviously inefficient (and probably wrong) -- w00t - */ - if (socket > -1) - { - if (!Instance->SE->AddFd(New)) - { - userrec::QuitUser(Instance, New, "Internal error handling connection"); - return; - } - } - ELine* e = Instance->XLines->matches_exception(New); if (!e) { @@ -983,6 +970,15 @@ void userrec::AddClient(InspIRCd* Instance, int socket, int port, bool iscached, } } + if (socket > -1) + { + if (!Instance->SE->AddFd(New)) + { + userrec::QuitUser(Instance, New, "Internal error handling connection"); + return; + } + } + New->WriteServ("NOTICE Auth :*** Looking up your hostname..."); } |
