diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/inspsocket.cpp | 3 | ||||
-rw-r--r-- | src/modules/m_httpd.cpp | 1 | ||||
-rw-r--r-- | src/modules/m_spanningtree/main.cpp | 5 | ||||
-rw-r--r-- | src/modules/m_spanningtree/rsquit.cpp | 1 |
4 files changed, 4 insertions, 6 deletions
diff --git a/src/inspsocket.cpp b/src/inspsocket.cpp index c2b80a225..f29366c73 100644 --- a/src/inspsocket.cpp +++ b/src/inspsocket.cpp @@ -359,6 +359,9 @@ void InspSocket::Close() this->OnClose(); shutdown(this->fd,2); close(this->fd); + + if (Instance->SocketCull.find(this) == Instance->SocketCull.end()) + Instance->SocketCull[this] = this; } errno = save; } diff --git a/src/modules/m_httpd.cpp b/src/modules/m_httpd.cpp index d033b2270..8494863a3 100644 --- a/src/modules/m_httpd.cpp +++ b/src/modules/m_httpd.cpp @@ -344,7 +344,6 @@ void HttpServerTimeout::Tick(time_t TIME) { SE->DelFd(s); s->Close(); - delete s; } class ModuleHttpServer : public Module diff --git a/src/modules/m_spanningtree/main.cpp b/src/modules/m_spanningtree/main.cpp index b5de84701..1cc18dae6 100644 --- a/src/modules/m_spanningtree/main.cpp +++ b/src/modules/m_spanningtree/main.cpp @@ -405,7 +405,6 @@ int ModuleSpanningTree::HandleSquit(const char** parameters, int pcnt, userrec* sock->Squit(s,std::string("Server quit by ") + user->GetFullRealHost()); ServerInstance->SE->DelFd(sock); sock->Close(); - delete sock; } else { @@ -488,9 +487,7 @@ void ModuleSpanningTree::DoPingChecks(time_t curtime) /* they didnt answer, boot them */ sock->SendError("Ping timeout"); sock->Squit(serv,"Ping timeout"); - ServerInstance->SE->DelFd(sock); - sock->Close(); - delete sock; + /*** XXX SOCKET CULL ***/ return; } } diff --git a/src/modules/m_spanningtree/rsquit.cpp b/src/modules/m_spanningtree/rsquit.cpp index aa4f924be..5f3d33fc0 100644 --- a/src/modules/m_spanningtree/rsquit.cpp +++ b/src/modules/m_spanningtree/rsquit.cpp @@ -99,7 +99,6 @@ CmdResult cmd_rsquit::Handle (const char** parameters, int pcnt, userrec *user) sock->Squit(s,std::string("Server quit by ") + user->GetFullRealHost()); ServerInstance->SE->DelFd(sock); sock->Close(); - delete sock; return CMD_LOCALONLY; } } |