WARNING: QA PEOPLE, THIS NEEDS TESTING!!!!
Test this with lots of squits and connects, and i mean lots and lots in all different ways you can think of, /squit, pingout, closing the connection with a firewall etc.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7434
e03df62e-2008-0410-955e-
edbf42e46eb7
this->OnClose();
shutdown(this->fd,2);
close(this->fd);
+
+ if (Instance->SocketCull.find(this) == Instance->SocketCull.end())
+ Instance->SocketCull[this] = this;
}
errno = save;
}
{
SE->DelFd(s);
s->Close();
- delete s;
}
class ModuleHttpServer : public Module
sock->Squit(s,std::string("Server quit by ") + user->GetFullRealHost());
ServerInstance->SE->DelFd(sock);
sock->Close();
- delete sock;
}
else
{
/* 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;
}
}
sock->Squit(s,std::string("Server quit by ") + user->GetFullRealHost());
ServerInstance->SE->DelFd(sock);
sock->Close();
- delete sock;
return CMD_LOCALONLY;
}
}