From f12fd5382fef6aa5c6f75b2614460089a9af9f27 Mon Sep 17 00:00:00 2001 From: brain Date: Mon, 23 Jul 2007 23:10:16 +0000 Subject: Fix crash on unload of modules with listening sockets -- some situations require that the socket cull list is purged *immediately*, provide facility for this. Also squish some silly error output on unloading spanningtree. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7529 e03df62e-2008-0410-955e-edbf42e46eb7 --- src/inspircd.cpp | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'src/inspircd.cpp') diff --git a/src/inspircd.cpp b/src/inspircd.cpp index dbfbc1797..c35bf32c3 100644 --- a/src/inspircd.cpp +++ b/src/inspircd.cpp @@ -1122,6 +1122,11 @@ void InspIRCd::DoOneIteration(bool process_module_sockets) GlobalCulls.Apply(); /* If any inspsockets closed, remove them */ + this->InspSocketCull(); +} + +void InspIRCd::InspSocketCull() +{ for (std::map::iterator x = SocketCull.begin(); x != SocketCull.end(); ++x) { SE->DelFd(x->second); -- cgit v1.2.3