, postsize(0)
, waitingcull(false)
{
- ServerInstance->Timers.AddTimer(this);
+ if ((!via->iohookprovs.empty()) && (via->iohookprovs.back()))
+ {
+ via->iohookprovs.back()->OnAccept(this, client, server);
+ // IOHook may have errored
+ if (!getError().empty())
+ {
+ AddToCull();
+ return;
+ }
+ }
- if (via->iohookprov)
- via->iohookprov->OnAccept(this, client, server);
+ ServerInstance->Timers.AddTimer(this);
}
~HttpServerSocket()
{
HttpServerSocket* sock = *i;
++i;
- if (sock->GetIOHook() && sock->GetIOHook()->prov->creator == mod)
+ if (sock->GetModHook(mod))
{
sock->cull();
delete sock;