From 9eb61d66cc7fa5edd866d19ebb908eebc403f259 Mon Sep 17 00:00:00 2001 From: danieldg Date: Tue, 16 Feb 2010 14:13:22 +0000 Subject: Close and delete server sockets when they are in DYING state, should avoid 100% CPU in other socketengines git-svn-id: http://svn.inspircd.org/repository/branches/1_2_stable@12473 e03df62e-2008-0410-955e-edbf42e46eb7 --- src/modules/m_spanningtree/treesocket1.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'src/modules/m_spanningtree/treesocket1.cpp') diff --git a/src/modules/m_spanningtree/treesocket1.cpp b/src/modules/m_spanningtree/treesocket1.cpp index e1b28c0a0..e871ddd22 100644 --- a/src/modules/m_spanningtree/treesocket1.cpp +++ b/src/modules/m_spanningtree/treesocket1.cpp @@ -273,9 +273,12 @@ void TreeSocket::Squit(TreeServer* Current, const std::string &reason) */ bool TreeSocket::OnDataReady() { + const char* data = this->Read(); if (LinkState == DYING) + { + Close(); return true; - const char* data = this->Read(); + } /* Check that the data read is a valid pointer and it has some content */ if (data && *data) { -- cgit v1.3.1-10-gc9f91