From 6d5a6aeeabfc976bd0e5aff7f9445982774275ab Mon Sep 17 00:00:00 2001 From: danieldg Date: Thu, 12 Nov 2009 15:38:07 +0000 Subject: Fix double-cull of users quitting due to connection error git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12105 e03df62e-2008-0410-955e-edbf42e46eb7 --- src/inspsocket.cpp | 1 - src/modules/m_httpd.cpp | 1 + src/modules/m_spanningtree/treesocket1.cpp | 1 + src/threadengines/threadengine_pthread.cpp | 2 ++ src/threadengines/threadengine_win32.cpp | 1 + 5 files changed, 5 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/inspsocket.cpp b/src/inspsocket.cpp index 86104c54d..59f814cc9 100644 --- a/src/inspsocket.cpp +++ b/src/inspsocket.cpp @@ -541,7 +541,6 @@ void StreamSocket::HandleEvent(EventType et, int errornum) { ServerInstance->Logs->Log("SOCKET", DEBUG, "Error on FD %d - '%s'", fd, error.c_str()); OnError(errcode); - ServerInstance->GlobalCulls.AddItem(this); } } diff --git a/src/modules/m_httpd.cpp b/src/modules/m_httpd.cpp index 4d5bf38ee..b453a2805 100644 --- a/src/modules/m_httpd.cpp +++ b/src/modules/m_httpd.cpp @@ -60,6 +60,7 @@ class HttpServerSocket : public BufferedSocket virtual void OnError(BufferedSocketError) { + ServerInstance->GlobalCulls.AddItem(this); } std::string Response(int response) diff --git a/src/modules/m_spanningtree/treesocket1.cpp b/src/modules/m_spanningtree/treesocket1.cpp index fcd6871e1..e41b53583 100644 --- a/src/modules/m_spanningtree/treesocket1.cpp +++ b/src/modules/m_spanningtree/treesocket1.cpp @@ -149,6 +149,7 @@ void TreeSocket::OnError(BufferedSocketError e) { ServerInstance->SNO->WriteGlobalSno('l', "Connection to \002%s\002 failed with error: %s", myhost.c_str(), getError().c_str()); + ServerInstance->GlobalCulls.AddItem(this); } void TreeSocket::SendError(const std::string &errormessage) diff --git a/src/threadengines/threadengine_pthread.cpp b/src/threadengines/threadengine_pthread.cpp index 59ab8f402..08a19a749 100644 --- a/src/threadengines/threadengine_pthread.cpp +++ b/src/threadengines/threadengine_pthread.cpp @@ -84,6 +84,7 @@ class ThreadSignalSocket : public BufferedSocket void OnError(BufferedSocketError) { + ServerInstance->GlobalCulls.AddItem(this); } }; @@ -123,6 +124,7 @@ class ThreadSignalSocket : public BufferedSocket void OnError(BufferedSocketError) { + ServerInstance->GlobalCulls.AddItem(this); } }; diff --git a/src/threadengines/threadengine_win32.cpp b/src/threadengines/threadengine_win32.cpp index 532f50f55..cbdcdf3af 100644 --- a/src/threadengines/threadengine_win32.cpp +++ b/src/threadengines/threadengine_win32.cpp @@ -68,6 +68,7 @@ class ThreadSignalSocket : public BufferedSocket void OnError(BufferedSocketError) { + ServerInstance->GlobalCulls.AddItem(this); } }; -- cgit v1.2.3