diff options
| author | 2010-02-16 14:13:22 +0000 | |
|---|---|---|
| committer | 2010-02-16 14:13:22 +0000 | |
| commit | 9eb61d66cc7fa5edd866d19ebb908eebc403f259 (patch) | |
| tree | 5776fe35af00c8deace04d8e9d0feea48bde9416 /src/modules/m_spanningtree/treesocket1.cpp | |
| parent | 1.2.5 release (diff) | |
| download | inspircd++-9eb61d66cc7fa5edd866d19ebb908eebc403f259.tar.gz inspircd++-9eb61d66cc7fa5edd866d19ebb908eebc403f259.tar.bz2 inspircd++-9eb61d66cc7fa5edd866d19ebb908eebc403f259.zip | |
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
Diffstat (limited to 'src/modules/m_spanningtree/treesocket1.cpp')
| -rw-r--r-- | src/modules/m_spanningtree/treesocket1.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
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) { |
