summaryrefslogtreecommitdiff
path: root/src/inspircd.cpp
diff options
context:
space:
mode:
authorbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>2007-07-23 23:10:16 +0000
committerbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>2007-07-23 23:10:16 +0000
commitf12fd5382fef6aa5c6f75b2614460089a9af9f27 (patch)
tree71d48061564c7de3a9c6050a3a2ace97dd70e142 /src/inspircd.cpp
parent05670eb4a92765ec954f81e775419cff7efcd87c (diff)
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
Diffstat (limited to 'src/inspircd.cpp')
-rw-r--r--src/inspircd.cpp5
1 files changed, 5 insertions, 0 deletions
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<InspSocket*,InspSocket*>::iterator x = SocketCull.begin(); x != SocketCull.end(); ++x)
{
SE->DelFd(x->second);