Part of #135.
ExtractionExceptions is declared as static List<string>. When ExtractStringsFromCode is called from concurrent threads, multiple threads may call AddRange on the same list simultaneously, causing data corruption.
Fix: Change ExtractionExceptions from List<string> to ConcurrentBag<string> and replace AddRange calls with individual Add calls.
Files affected: src/L10NSharp/XLiffUtils/XliffLocalizationManager.cs
Part of #135.
ExtractionExceptionsis declared asstatic List<string>. WhenExtractStringsFromCodeis called from concurrent threads, multiple threads may callAddRangeon the same list simultaneously, causing data corruption.Fix: Change
ExtractionExceptionsfromList<string>toConcurrentBag<string>and replaceAddRangecalls with individualAddcalls.Files affected:
src/L10NSharp/XLiffUtils/XliffLocalizationManager.cs