1
0
mirror of https://github.com/unrealircd/unrealircd.git synced 2026-07-05 07:13:14 +02:00

- Split out servers into global_server_list.

Now client_list only includes clients, and global_server_list only includes servers.
This commit is contained in:
William Pitcock
2013-05-06 03:53:27 +00:00
parent 95370c6420
commit 582496be70
3 changed files with 8 additions and 3 deletions
+1 -1
View File
@@ -148,7 +148,7 @@ extern MODVAR int R_do_dns, R_fin_dns, R_fin_dnsc, R_fail_dns,
R_do_id, R_fin_id, R_fail_id;
#endif
extern MODVAR struct list_head client_list, lclient_list, server_list, oper_list, unknown_list;
extern MODVAR struct list_head client_list, lclient_list, server_list, oper_list, unknown_list, global_server_list;
extern inline aCommand *find_Command(char *cmd, short token, int flags);
extern aCommand *find_Command_simple(char *cmd);
extern aChannel *find_channel(char *, aChannel *);
+2 -1
View File
@@ -72,7 +72,7 @@ MODVAR MembershipL *freemembershipL = NULL;
MODVAR int numclients = 0;
/* unless documented otherwise, these are all local-only, except client_list. */
MODVAR struct list_head client_list, lclient_list, server_list, oper_list, unknown_list;
MODVAR struct list_head client_list, lclient_list, server_list, oper_list, unknown_list, global_server_list;
void initlists(void)
{
@@ -90,6 +90,7 @@ void initlists(void)
INIT_LIST_HEAD(&server_list);
INIT_LIST_HEAD(&oper_list);
INIT_LIST_HEAD(&unknown_list);
INIT_LIST_HEAD(&global_server_list);
}
void outofmemory(void)
+5 -1
View File
@@ -666,6 +666,7 @@ CMD_FUNC(m_server_remote)
(void)find_or_add(acptr->name);
add_client_to_list(acptr);
(void)add_to_client_hash_table(acptr->name, acptr);
list_move(&acptr->client_node, &global_server_list);
RunHook(HOOKTYPE_SERVER_CONNECT, acptr);
list_for_each_entry(bcptr, &server_list, special_node)
@@ -756,6 +757,7 @@ int m_server_synch(aClient *cptr, long numeric, ConfigItem_link *aconf)
IRCstats.me_servers++;
IRCstats.servers++;
IRCstats.unknown--;
list_move(&cptr->client_node, &global_server_list);
list_move(&cptr->lclient_node, &lclient_list);
list_add(&cptr->special_node, &server_list);
if ((Find_uline(cptr->name)))
@@ -825,11 +827,12 @@ int m_server_synch(aClient *cptr, long numeric, ConfigItem_link *aconf)
}
}
list_for_each_entry_reverse(acptr, &server_list, special_node)
list_for_each_entry_reverse(acptr, &global_server_list, client_node)
{
/* acptr->from == acptr for acptr == cptr */
if (acptr->from == cptr)
continue;
if (IsServer(acptr))
{
if (SupportNS(cptr))
@@ -874,6 +877,7 @@ int m_server_synch(aClient *cptr, long numeric, ConfigItem_link *aconf)
}
}
}
/* Synching nick information */
list_for_each_entry_reverse(acptr, &client_list, client_node)
{