Go back to disconnecting bots in parallel since serially is too slow.

However, disconnecting now halts any current connection, with the possible exception of the single currently connecting bot.
0.8-extended
Justin Clark-Casey (justincc) 2014-08-05 01:37:10 +01:00 committed by Justin Clark-Casey
parent 04cb9bc4bf
commit 4443e05d5d
1 changed files with 5 additions and 3 deletions

View File

@ -349,7 +349,7 @@ namespace pCampBot
foreach (Bot bot in botsToConnect)
{
if (DisconnectingBots)
if (!ConnectingBots)
{
MainConsole.Instance.Output(
"[BOT MANAGER]: Aborting bot connection due to user-initiated disconnection");
@ -629,6 +629,8 @@ namespace pCampBot
botsToDisconnectCount = Math.Min(botsToDisconnectCount, connectedBots.Count);
}
DisconnectingBots = true;
Thread disconnectBotThread = new Thread(o => DisconnectBotsInternal(connectedBots, botsToDisconnectCount));
disconnectBotThread.Name = "Bots disconnection thread";
@ -637,7 +639,7 @@ namespace pCampBot
private void DisconnectBotsInternal(List<Bot> connectedBots, int disconnectCount)
{
DisconnectingBots = true;
ConnectingBots = false;
MainConsole.Instance.OutputFormat("Disconnecting {0} bots", disconnectCount);
@ -652,7 +654,7 @@ namespace pCampBot
if (thisBot.ConnectionState == ConnectionState.Connected)
{
thisBot.Disconnect();
ThreadPool.QueueUserWorkItem(o => thisBot.Disconnect());
disconnectedBots++;
}
}