- client_p = ptr->data;
- if(IsDead(client_p))
- continue;
-
- /* this MUST be here, to prevent the possibility
- * sendto_one() generates a write error, and then a client
- * ends up on the dead_list and the abort_list --fl
- *
- * new disconnect notice stolen from ircu --nenolod
- * no, this only happens when someone's IP has some
- * ban on it and rejects them rather longer than the
- * ircu message suggests --jilles
- */
- if(!IsIOError(client_p))
- {
- if(IsExUnknown(client_p))
- sendto_one(client_p, "ERROR :Closing Link: %s (*** Too many unknown connections)", client_p->host);
- else
- sendto_one(client_p, "ERROR :Closing Link: %s (*** Banned (cache))", client_p->host);
- }
- close_connection(client_p);
- SetDead(client_p);
- rb_dlinkAddAlloc(client_p, &dead_list);