From 4d52274432e897a0c0204bdfb402e780b61cb468 Mon Sep 17 00:00:00 2001 From: rburchell Date: Sun, 9 Aug 2009 11:03:41 +0000 Subject: [PATCH] Introduce clients when we first see the uplink (i.e. successfully connected), not when the uplink has finished synchronising. git-svn-id: http://anope.svn.sourceforge.net/svnroot/anope/trunk@2446 5417fbe8-f217-4b02-8779-1006273d7864 --- src/servers.c | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/src/servers.c b/src/servers.c index 037ad2ea1..cb990032e 100644 --- a/src/servers.c +++ b/src/servers.c @@ -159,6 +159,15 @@ Server *new_server(Server * server_uplink, const char *name, const char *desc, if ((server_uplink == me_server) && !(flags & SERVER_JUPED)) { serv_uplink = serv; serv->flags |= SERVER_ISUPLINK; + + /* Bring in our pseudo-clients */ + introduce_user(NULL); + + /* And hybrid needs Global joined in the logchan */ + if (logchan && ircd->join2msg) { + /* XXX might desync */ + ircdproto->SendJoin(findbot(s_GlobalNoticer), LogChannel, time(NULL)); + } } return serv; @@ -589,21 +598,12 @@ void finish_sync(Server * serv, int sync_links) if (serv == serv_uplink) { - /* Bring in our pseudo-clients */ - introduce_user(NULL); - - /* And hybrid needs Global joined in the logchan */ - if (logchan && ircd->join2msg) { - /* XXX might desync */ - ircdproto->SendJoin(findbot(s_GlobalNoticer), LogChannel, time(NULL)); - } - ircdproto->SendEOB(); } /* Do some general stuff which should only be done once */ // XXX: this doesn't actually match the description. finish_sync(), depending on the ircd, can be called multiple times - // Perhaps this belongs in the above if? + // Perhaps this should be done if serv == serv_uplink? restore_unsynced_topics(); alog("Server %s is done syncing", serv->name); }