From 8067a4cbaffe9ad59e035f933e59ca747a5a03fc Mon Sep 17 00:00:00 2001 From: JustArchi Date: Mon, 25 Nov 2019 20:54:27 +0100 Subject: [PATCH] Misc --- ArchiSteamFarm/Collections/FixedSizeConcurrentQueue.cs | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/ArchiSteamFarm/Collections/FixedSizeConcurrentQueue.cs b/ArchiSteamFarm/Collections/FixedSizeConcurrentQueue.cs index 6a50617b8..0b317a2e0 100644 --- a/ArchiSteamFarm/Collections/FixedSizeConcurrentQueue.cs +++ b/ArchiSteamFarm/Collections/FixedSizeConcurrentQueue.cs @@ -40,7 +40,7 @@ namespace ArchiSteamFarm.Collections { BackingMaxCount = value; - while ((BackingQueue.Count > MaxCount) && BackingQueue.TryDequeue(out _)) { } + Resize(); } } @@ -60,11 +60,17 @@ namespace ArchiSteamFarm.Collections { internal void Enqueue(T obj) { BackingQueue.Enqueue(obj); + Resize(); + } + + private void Resize() { if (BackingQueue.Count <= MaxCount) { return; } - BackingQueue.TryDequeue(out _); + lock (BackingQueue) { + while ((BackingQueue.Count > MaxCount) && BackingQueue.TryDequeue(out _)) { } + } } } }