#define DEBUG_EXITED_CLIENTS
-static void check_pings_list(dlink_list * list);
-static void check_unknowns_list(dlink_list * list);
+static void check_pings_list(rb_dlink_list * list);
+static void check_unknowns_list(rb_dlink_list * list);
static void free_exited_clients(void *unused);
static void exit_aborted_clients(void *unused);
G_LINED
};
-dlink_list dead_list;
+rb_dlink_list dead_list;
#ifdef DEBUG_EXITED_CLIENTS
-static dlink_list dead_remote_list;
+static rb_dlink_list dead_remote_list;
#endif
struct abort_client
{
- dlink_node node;
+ rb_dlink_node node;
struct Client *client;
char notice[REASONLEN];
};
-static dlink_list abort_list;
+static rb_dlink_list abort_list;
/*
client_p->preClient = (struct PreClient *) BlockHeapAlloc(pclient_heap);
/* as good a place as any... */
- dlinkAdd(client_p, &client_p->localClient->tnode, &unknown_list);
+ rb_dlinkAdd(client_p, &client_p->localClient->tnode, &unknown_list);
}
else
{ /* from is not NULL */
* side effects -
*/
static void
-check_pings_list(dlink_list * list)
+check_pings_list(rb_dlink_list * list)
{
char scratch[32]; /* way too generous but... */
struct Client *client_p; /* current local client_p being examined */
int ping = 0; /* ping time value from client */
- dlink_node *ptr, *next_ptr;
+ rb_dlink_node *ptr, *next_ptr;
DLINK_FOREACH_SAFE(ptr, next_ptr, list->head)
{
* side effects - unknown clients get marked for termination after n seconds
*/
static void
-check_unknowns_list(dlink_list * list)
+check_unknowns_list(rb_dlink_list * list)
{
- dlink_node *ptr, *next_ptr;
+ rb_dlink_node *ptr, *next_ptr;
struct Client *client_p;
int timeout;
{
struct Client *client_p; /* current local client_p being examined */
struct ConfItem *aconf = NULL;
- dlink_node *ptr, *next_ptr;
+ rb_dlink_node *ptr, *next_ptr;
DLINK_FOREACH_SAFE(ptr, next_ptr, lclient_list.head)
{
{
struct Client *client_p;
struct ConfItem *aconf;
- dlink_node *ptr;
- dlink_node *next_ptr;
+ rb_dlink_node *ptr;
+ rb_dlink_node *next_ptr;
DLINK_FOREACH_SAFE(ptr, next_ptr, lclient_list.head)
{
{
struct Client *client_p;
struct ConfItem *aconf;
- dlink_node *ptr;
- dlink_node *next_ptr;
+ rb_dlink_node *ptr;
+ rb_dlink_node *next_ptr;
DLINK_FOREACH_SAFE(ptr, next_ptr, lclient_list.head)
{
{
struct Client *client_p;
struct ConfItem *aconf;
- dlink_node *ptr;
- dlink_node *next_ptr;
+ rb_dlink_node *ptr;
+ rb_dlink_node *next_ptr;
DLINK_FOREACH_SAFE(ptr, next_ptr, lclient_list.head)
{
{
struct Client *client_p;
struct ConfItem *aconf;
- dlink_node *ptr;
- dlink_node *next_ptr;
+ rb_dlink_node *ptr;
+ rb_dlink_node *next_ptr;
DLINK_FOREACH_SAFE(ptr, next_ptr, lclient_list.head)
{
if(client_p->node.prev == NULL && client_p->node.next == NULL)
return;
- dlinkDelete(&client_p->node, &global_client_list);
+ rb_dlinkDelete(&client_p->node, &global_client_list);
update_client_exit_stats(client_p);
}
static void
free_exited_clients(void *unused)
{
- dlink_node *ptr, *next;
+ rb_dlink_node *ptr, *next;
struct Client *target_p;
DLINK_FOREACH_SAFE(ptr, next, dead_list.head)
#ifdef DEBUG_EXITED_CLIENTS
{
struct abort_client *abt;
- dlink_node *aptr;
+ rb_dlink_node *aptr;
int found = 0;
DLINK_FOREACH(aptr, abort_list.head)
if(found)
{
- dlinkDestroy(ptr, &dead_list);
+ rb_dlinkDestroy(ptr, &dead_list);
continue;
}
}
{
sendto_realops_snomask(SNO_GENERAL, L_ALL,
"Warning: null client on dead_list!");
- dlinkDestroy(ptr, &dead_list);
+ rb_dlinkDestroy(ptr, &dead_list);
continue;
}
release_client_state(target_p);
free_client(target_p);
- dlinkDestroy(ptr, &dead_list);
+ rb_dlinkDestroy(ptr, &dead_list);
}
#ifdef DEBUG_EXITED_CLIENTS
{
sendto_realops_snomask(SNO_GENERAL, L_ALL,
"Warning: null client on dead_list!");
- dlinkDestroy(ptr, &dead_list);
+ rb_dlinkDestroy(ptr, &dead_list);
continue;
}
release_client_state(target_p);
free_client(target_p);
- dlinkDestroy(ptr, &dead_remote_list);
+ rb_dlinkDestroy(ptr, &dead_remote_list);
}
#endif
const char *comment)
{
struct Client *target_p;
- dlink_node *ptr, *ptr_next;
+ rb_dlink_node *ptr, *ptr_next;
/* If this server can handle quit storm (QS) removal
* of dependents, just send the SQUIT
*/
recurse_remove_clients(struct Client *source_p, const char *comment)
{
struct Client *target_p;
- dlink_node *ptr, *ptr_next;
+ rb_dlink_node *ptr, *ptr_next;
if(IsMe(source_p))
return;
struct Client *from, const char *comment, const char *comment1)
{
struct Client *to;
- dlink_node *ptr, *next;
+ rb_dlink_node *ptr, *next;
DLINK_FOREACH_SAFE(ptr, next, serv_list.head)
{
exit_aborted_clients(void *unused)
{
struct abort_client *abt;
- dlink_node *ptr, *next;
+ rb_dlink_node *ptr, *next;
DLINK_FOREACH_SAFE(ptr, next, abort_list.head)
{
abt = ptr->data;
#ifdef DEBUG_EXITED_CLIENTS
{
- if(dlinkFind(abt->client, &dead_list))
+ if(rb_dlinkFind(abt->client, &dead_list))
{
s_assert(0);
sendto_realops_snomask(SNO_GENERAL, L_ALL,
#endif
s_assert(*((unsigned long*)abt->client) != 0xdeadbeef); /* This is lame but its a debug thing */
- dlinkDelete(ptr, &abort_list);
+ rb_dlinkDelete(ptr, &abort_list);
if(IsAnyServer(abt->client))
sendto_realops_snomask(SNO_GENERAL, L_ALL,
SetIOError(client_p);
SetDead(client_p);
SetClosing(client_p);
- dlinkAdd(abt, &abt->node, &abort_list);
+ rb_dlinkAdd(abt, &abt->node, &abort_list);
}
exit_generic_client(struct Client *client_p, struct Client *source_p, struct Client *from,
const char *comment)
{
- dlink_node *ptr, *next_ptr;
+ rb_dlink_node *ptr, *next_ptr;
if(IsOper(source_p))
- dlinkFindDestroy(source_p, &oper_list);
+ rb_dlinkFindDestroy(source_p, &oper_list);
sendto_common_channels_local(source_p, ":%s!%s@%s QUIT :%s",
source_p->name,
if(source_p->servptr && source_p->servptr->serv)
{
- dlinkDelete(&source_p->lnode, &source_p->servptr->serv->users);
+ rb_dlinkDelete(&source_p->lnode, &source_p->servptr->serv->users);
}
if((source_p->flags & FLAGS_KILLED) == 0)
SetDead(source_p);
#ifdef DEBUG_EXITED_CLIENTS
- dlinkAddAlloc(source_p, &dead_remote_list);
+ rb_dlinkAddAlloc(source_p, &dead_remote_list);
#else
- dlinkAddAlloc(source_p, &dead_list);
+ rb_dlinkAddAlloc(source_p, &dead_list);
#endif
return(CLIENT_EXITED);
}
delete_auth_queries(source_p);
client_flush_input(source_p);
del_unknown_ip(source_p);
- dlinkDelete(&source_p->localClient->tnode, &unknown_list);
+ rb_dlinkDelete(&source_p->localClient->tnode, &unknown_list);
if(!IsIOError(source_p))
sendto_one(source_p, "ERROR :Closing Link: %s (%s)",
del_from_client_hash(source_p->name, source_p);
remove_client_from_list(source_p);
SetDead(source_p);
- dlinkAddAlloc(source_p, &dead_list);
+ rb_dlinkAddAlloc(source_p, &dead_list);
/* Note that we don't need to add unknowns to the dead_list */
return(CLIENT_EXITED);
remove_dependents(client_p, source_p, from, IsPerson(from) ? newcomment : comment, comment1);
if(source_p->servptr && source_p->servptr->serv)
- dlinkDelete(&source_p->lnode, &source_p->servptr->serv->servers);
+ rb_dlinkDelete(&source_p->lnode, &source_p->servptr->serv->servers);
else
s_assert(0);
- dlinkFindDestroy(source_p, &global_serv_list);
+ rb_dlinkFindDestroy(source_p, &global_serv_list);
target_p = source_p->from;
if(target_p != NULL && IsServer(target_p) && target_p != client_p &&
SetDead(source_p);
#ifdef DEBUG_EXITED_CLIENTS
- dlinkAddAlloc(source_p, &dead_remote_list);
+ rb_dlinkAddAlloc(source_p, &dead_remote_list);
#else
- dlinkAddAlloc(source_p, &dead_list);
+ rb_dlinkAddAlloc(source_p, &dead_list);
#endif
return 0;
}
struct Client *target_p;
if(source_p->servptr && source_p->servptr->serv)
- dlinkDelete(&source_p->lnode, &source_p->servptr->serv->servers);
+ rb_dlinkDelete(&source_p->lnode, &source_p->servptr->serv->servers);
else
s_assert(0);
- dlinkFindDestroy(source_p, &global_serv_list);
+ rb_dlinkFindDestroy(source_p, &global_serv_list);
target_p = source_p->from;
if(has_id(source_p))
scache_split(source_p->serv->nameinfo);
SetDead(source_p);
- dlinkAddAlloc(source_p, &dead_list);
+ rb_dlinkAddAlloc(source_p, &dead_list);
return 0;
}
static char newcomment[BUFSIZE];
unsigned int sendk, recvk;
- dlinkDelete(&source_p->localClient->tnode, &serv_list);
- dlinkFindDestroy(source_p, &global_serv_list);
+ rb_dlinkDelete(&source_p->localClient->tnode, &serv_list);
+ rb_dlinkFindDestroy(source_p, &global_serv_list);
unset_chcap_usage_counts(source_p);
sendk = source_p->localClient->sendK;
}
if(source_p->servptr && source_p->servptr->serv)
- dlinkDelete(&source_p->lnode, &source_p->servptr->serv->servers);
+ rb_dlinkDelete(&source_p->lnode, &source_p->servptr->serv->servers);
else
s_assert(0);
scache_split(source_p->serv->nameinfo);
SetDead(source_p);
- dlinkAddAlloc(source_p, &dead_list);
+ rb_dlinkAddAlloc(source_p, &dead_list);
return 0;
}
s_assert(IsPerson(source_p));
client_flush_input(source_p);
- dlinkDelete(&source_p->localClient->tnode, &lclient_list);
- dlinkDelete(&source_p->lnode, &me.serv->users);
+ rb_dlinkDelete(&source_p->localClient->tnode, &lclient_list);
+ rb_dlinkDelete(&source_p->lnode, &me.serv->users);
if(IsOper(source_p))
- dlinkFindDestroy(source_p, &local_oper_list);
+ rb_dlinkFindDestroy(source_p, &local_oper_list);
sendto_realops_snomask(SNO_CCONN, L_ALL,
"Client exiting: %s (%s@%s) [%s] [%s]",
}
SetDead(source_p);
- dlinkAddAlloc(source_p, &dead_list);
+ rb_dlinkAddAlloc(source_p, &dead_list);
return(CLIENT_EXITED);
}
void
del_all_accepts(struct Client *client_p)
{
- dlink_node *ptr;
- dlink_node *next_ptr;
+ rb_dlink_node *ptr;
+ rb_dlink_node *next_ptr;
struct Client *target_p;
if(MyClient(client_p) && client_p->localClient->allow_list.head)
DLINK_FOREACH_SAFE(ptr, next_ptr, client_p->localClient->allow_list.head)
{
target_p = ptr->data;
- dlinkFindDestroy(client_p, &target_p->on_allow_list);
- dlinkDestroy(ptr, &client_p->localClient->allow_list);
+ rb_dlinkFindDestroy(client_p, &target_p->on_allow_list);
+ rb_dlinkDestroy(ptr, &client_p->localClient->allow_list);
}
}
DLINK_FOREACH_SAFE(ptr, next_ptr, client_p->on_allow_list.head)
{
target_p = ptr->data;
- dlinkFindDestroy(client_p, &target_p->localClient->allow_list);
- dlinkDestroy(ptr, &client_p->on_allow_list);
+ rb_dlinkFindDestroy(client_p, &target_p->localClient->allow_list);
+ rb_dlinkDestroy(ptr, &client_p->on_allow_list);
}
}
(unsigned long) user,
(unsigned long) user->invited.head,
(unsigned long) user->channel.head,
- dlink_list_length(&user->channel),
+ rb_dlink_list_length(&user->channel),
user->refcnt);
s_assert(!user->refcnt);
s_assert(!user->invited.head);