diff options
Diffstat (limited to 'src/inspircd.cpp')
-rw-r--r-- | src/inspircd.cpp | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/inspircd.cpp b/src/inspircd.cpp index bacd92961..670b24441 100644 --- a/src/inspircd.cpp +++ b/src/inspircd.cpp @@ -911,6 +911,14 @@ void InspIRCd::DoOneIteration(bool process_module_sockets) /* if any users was quit, take them out */ GlobalCulls.Apply(); + /* If any inspsockets closed, remove them */ + for (std::map<InspSocket*,InspSocket*>::iterator x = SocketCull.begin(); x != SocketCull.end(); ++x) + { + SE->DelFd(x->second); + x->second->Close(); + delete x->second; + } + SocketCull.clear(); } bool InspIRCd::IsIdent(const char* n) @@ -933,7 +941,6 @@ bool InspIRCd::IsIdent(const char* n) return true; } - int InspIRCd::Run() { while (true) |