Fix .NET being too fast

This commit is contained in:
JustArchi
2016-01-23 23:44:08 +01:00
parent a3ab01bf0e
commit ae829d7942
3 changed files with 9 additions and 4 deletions

View File

@@ -115,7 +115,8 @@ namespace ArchiSteamFarm {
internal static async Task ShutdownAllBots() {
List<Task> tasks = new List<Task>();
foreach (Bot bot in Bots.Values) {
tasks.Add(Task.Run(async () => await bot.Shutdown().ConfigureAwait(false)));
Bot currentBot = bot;
tasks.Add(Task.Run(async () => await currentBot.Shutdown().ConfigureAwait(false)));
}
await Task.WhenAll(tasks).ConfigureAwait(false);
}

View File

@@ -272,7 +272,8 @@ namespace ArchiSteamFarm {
if (page == 1) {
CheckPage(htmlDocument); // Because we fetched page number 1 already
} else {
checkPagesTasks.Add(Task.Run(async () => await CheckPage(page).ConfigureAwait(false)));
byte currentPage = page;
checkPagesTasks.Add(Task.Run(async () => await CheckPage(currentPage).ConfigureAwait(false)));
}
}
await Task.WhenAll(checkPagesTasks).ConfigureAwait(false);
@@ -286,7 +287,8 @@ namespace ArchiSteamFarm {
List<Task> checkHoursTasks = new List<Task>();
Logging.LogGenericInfo(Bot.BotName, "Checking hours...");
foreach (uint appID in GamesToFarm.Keys) {
checkHoursTasks.Add(Task.Run(async () => await CheckHours(appID).ConfigureAwait(false)));
uint currentAppID = appID;
checkHoursTasks.Add(Task.Run(async () => await CheckHours(currentAppID).ConfigureAwait(false)));
}
await Task.WhenAll(checkHoursTasks).ConfigureAwait(false);
}
@@ -329,6 +331,7 @@ namespace ArchiSteamFarm {
return;
}
Logging.LogGenericDebug(Bot.BotName, "Checking page: " + page);
HtmlDocument htmlDocument = await Bot.ArchiWebHandler.GetBadgePage(page).ConfigureAwait(false);
if (htmlDocument == null) {
return;

View File

@@ -59,7 +59,8 @@ namespace ArchiSteamFarm {
List<Task> tasks = new List<Task>();
foreach (SteamTradeOffer tradeOffer in tradeOffers) {
if (tradeOffer.trade_offer_state == SteamTradeOffer.ETradeOfferState.Active) {
tasks.Add(Task.Run(async () => await ParseTrade(tradeOffer).ConfigureAwait(false)));
SteamTradeOffer currentTradeOffer = tradeOffer;
tasks.Add(Task.Run(async () => await ParseTrade(currentTradeOffer).ConfigureAwait(false)));
}
}