1
0
mirror of https://github.com/anope/anope.git synced 2026-06-27 20:46:39 +02:00

Fixed some issues with reconnecting if we disconnect from the uplink

This commit is contained in:
Adam
2010-08-01 20:05:52 -04:00
parent e8d6524411
commit 90976b6672
9 changed files with 53 additions and 34 deletions
+14 -2
View File
@@ -116,8 +116,6 @@ class UplinkSocket : public ClientSocket
~UplinkSocket()
{
/* Process the last bits of data before disconnecting */
SocketEngine->Process();
UplinkSock = NULL;
}
@@ -188,6 +186,7 @@ void do_restart_services()
UserListByUID.erase(it->second->GetUID());
}
ircdproto->SendSquit(Config.ServerName, quitmsg);
SocketEngine->Process();
delete UplinkSock;
close_log();
/* First don't unload protocol module, then do so */
@@ -236,6 +235,7 @@ static void services_shutdown()
while (!UserListByNick.empty())
delete UserListByNick.begin()->second;
}
SocketEngine->Process();
delete UplinkSock;
FOREACH_MOD(I_OnShutdown, OnShutdown());
/* First don't unload protocol module, then do so */
@@ -553,6 +553,18 @@ int main(int ac, char **av, char **envp)
delete u;
}
/* Nuke all channels */
for (channel_map::const_iterator it = ChannelList.begin(); it != ChannelList.end();)
{
Channel *c = it->second;
++it;
delete c;
}
Me->SetFlag(SERVER_SYNCING);
Me->ClearLinks();
unsigned j = 0;
for (; j < (Config.MaxRetries ? Config.MaxRetries : j + 1); ++j)
{