summaryrefslogtreecommitdiff
path: root/src/usermanager.cpp
diff options
context:
space:
mode:
authordanieldg <danieldg@e03df62e-2008-0410-955e-edbf42e46eb7>2010-03-02 03:17:04 +0000
committerdanieldg <danieldg@e03df62e-2008-0410-955e-edbf42e46eb7>2010-03-02 03:17:04 +0000
commita018f26eddbc72fdbf87fe5ee89112a53311fff1 (patch)
tree24c0de6f5e2fbaa8a17ed38bf81d0bd70b452e5b /src/usermanager.cpp
parentac83d3b0d607f2bdc373365bc2f08f0cde023bf3 (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.cpp17
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();
}
/*