diff options
author | danieldg <danieldg@e03df62e-2008-0410-955e-edbf42e46eb7> | 2010-03-02 03:17:04 +0000 |
---|---|---|
committer | danieldg <danieldg@e03df62e-2008-0410-955e-edbf42e46eb7> | 2010-03-02 03:17:04 +0000 |
commit | a018f26eddbc72fdbf87fe5ee89112a53311fff1 (patch) | |
tree | 24c0de6f5e2fbaa8a17ed38bf81d0bd70b452e5b /src/usermanager.cpp | |
parent | ac83d3b0d607f2bdc373365bc2f08f0cde023bf3 (diff) |
DelFd should not fail, it will leave a bad dangling pointer in that case
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12584 e03df62e-2008-0410-955e-edbf42e46eb7
Diffstat (limited to 'src/usermanager.cpp')
-rw-r--r-- | src/usermanager.cpp | 17 |
1 files changed, 1 insertions, 16 deletions
diff --git a/src/usermanager.cpp b/src/usermanager.cpp index 588af9510..15066fd28 100644 --- a/src/usermanager.cpp +++ b/src/usermanager.cpp @@ -195,22 +195,7 @@ void UserManager::QuitUser(User *user, const std::string &quitreason, const char { LocalUser* lu = IS_LOCAL(user); FOREACH_MOD(I_OnUserDisconnect,OnUserDisconnect(lu)); - UserIOHandler* eh = &lu->eh; - eh->DoWrite(); - if (eh->GetIOHook()) - { - try - { - eh->GetIOHook()->OnStreamSocketClose(eh); - } - catch (CoreException& modexcept) - { - ServerInstance->Logs->Log("USERS",DEBUG, "%s threw an exception: %s", modexcept.GetSource(), modexcept.GetReason()); - } - } - - ServerInstance->SE->DelFd(eh); - eh->Close(); + lu->eh.Close(); } /* |