From a5859761906db84e24ae1fcf8648530f9940c5aa Mon Sep 17 00:00:00 2001 From: Ottermandias Date: Mon, 5 Aug 2024 00:41:39 +0200 Subject: [PATCH] Make ImcChecker threadsafe. --- Penumbra/Meta/ImcChecker.cs | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/Penumbra/Meta/ImcChecker.cs b/Penumbra/Meta/ImcChecker.cs index 751113a0..4e3ff11b 100644 --- a/Penumbra/Meta/ImcChecker.cs +++ b/Penumbra/Meta/ImcChecker.cs @@ -12,12 +12,16 @@ public class ImcChecker public static int GetVariantCount(ImcIdentifier identifier) { - if (VariantCounts.TryGetValue(identifier, out var count)) - return count; + lock (VariantCounts) + { + if (VariantCounts.TryGetValue(identifier, out var count)) + return count; - count = GetFile(identifier)?.Count ?? 0; - VariantCounts[identifier] = count; - return count; + count = GetFile(identifier)?.Count ?? 0; + VariantCounts[identifier] = count; + + return count; + } } public readonly record struct CachedEntry(ImcEntry Entry, bool FileExists, bool VariantExists);