From: Marco Rossignoli Date: Thu, 11 Apr 2019 20:53:08 +0000 (+0200) Subject: Fixes race in NamespaceCache (dotnet/corefx#36699) X-Git-Tag: submit/tizen/20210909.063632~11031^2~1909 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=0474ec9b5d08b534e0fd3e96c23e75b47be9afa0;p=platform%2Fupstream%2Fdotnet%2Fruntime.git Fixes race in NamespaceCache (dotnet/corefx#36699) * fix race * address PR feedback * address PR feedback Commit migrated from https://github.com/dotnet/corefx/commit/ce62a086814fdfecea1d6ba6657c3fb88763e1d6 --- diff --git a/src/libraries/System.Reflection.Metadata/src/System/Reflection/Metadata/Internal/NamespaceCache.cs b/src/libraries/System.Reflection.Metadata/src/System/Reflection/Metadata/Internal/NamespaceCache.cs index 34993b3..85dfbf2 100644 --- a/src/libraries/System.Reflection.Metadata/src/System/Reflection/Metadata/Internal/NamespaceCache.cs +++ b/src/libraries/System.Reflection.Metadata/src/System/Reflection/Metadata/Internal/NamespaceCache.cs @@ -13,7 +13,7 @@ namespace System.Reflection.Metadata.Ecma335 { private readonly MetadataReader _metadataReader; private readonly object _namespaceTableAndListLock = new object(); - private Dictionary _namespaceTable; + private volatile Dictionary _namespaceTable; private NamespaceData _rootNamespace; private uint _virtualNamespaceCounter; @@ -154,8 +154,8 @@ namespace System.Reflection.Metadata.Ecma335 } } - _namespaceTable = namespaceTable; _rootNamespace = namespaceTable[rootNamespace]; + _namespaceTable = namespaceTable; } }