summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>2006-12-10 19:39:26 +0000
committerbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>2006-12-10 19:39:26 +0000
commitc99ac63b9a83f722bc9604caf2882af8f7af8532 (patch)
treea88c38e543f15f3c1131855781cd4c7b2e68b34c
parent93b0dec6654e1b8249c7b01a4820d861f9bac149 (diff)
Fix bug found on barafranca, where quitting the user causes a cascade of error state notifications without actually quitting the user until much later, wasting cpu time
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5919 e03df62e-2008-0410-955e-edbf42e46eb7
-rw-r--r--src/users.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/users.cpp b/src/users.cpp
index 986aea4cb..0d6b0d990 100644
--- a/src/users.cpp
+++ b/src/users.cpp
@@ -2130,7 +2130,8 @@ void userrec::HandleEvent(EventType et, int errornum)
this->FlushWriteBuf();
break;
case EVENT_ERROR:
- this->SetWriteError(errornum ? strerror(errornum) : "EOF from client");
+ /** This should be safe, but dont DARE do anything after it -- Brain */
+ userrec::QuitUser(ServerInstance, this, errornum ? strerror(errornum) : "EOF from client");
break;
}
}