summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordanieldg <danieldg@e03df62e-2008-0410-955e-edbf42e46eb7>2009-11-12 15:38:07 +0000
committerdanieldg <danieldg@e03df62e-2008-0410-955e-edbf42e46eb7>2009-11-12 15:38:07 +0000
commit6d5a6aeeabfc976bd0e5aff7f9445982774275ab (patch)
tree58bad9de8b056b878f00f1d299939a0f7e92113e
parent0f87ad0d4b97874823c94a5168a06dcd444ad559 (diff)
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
-rw-r--r--src/inspsocket.cpp1
-rw-r--r--src/modules/m_httpd.cpp1
-rw-r--r--src/modules/m_spanningtree/treesocket1.cpp1
-rw-r--r--src/threadengines/threadengine_pthread.cpp2
-rw-r--r--src/threadengines/threadengine_win32.cpp1
5 files changed, 5 insertions, 1 deletions
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);
}
};