Skip to content

Commit 27d7a4b

Browse files
committed
Use CompareExchange
1 parent c63cb79 commit 27d7a4b

File tree

1 file changed

+5
-1
lines changed

1 file changed

+5
-1
lines changed

src/Compilers/CSharp/Portable/Symbols/Tuples/TupleTypeSymbol.cs

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1051,7 +1051,11 @@ internal SmallDictionary<Symbol, Symbol> UnderlyingDefinitionToMemberMap
10511051
{
10521052
get
10531053
{
1054-
return _lazyUnderlyingDefinitionToMemberMap ??= computeDefinitionToMemberMap();
1054+
if (_lazyUnderlyingDefinitionToMemberMap is null)
1055+
{
1056+
Interlocked.CompareExchange(ref _lazyUnderlyingDefinitionToMemberMap, computeDefinitionToMemberMap(), null);
1057+
}
1058+
return _lazyUnderlyingDefinitionToMemberMap;
10551059

10561060
SmallDictionary<Symbol, Symbol> computeDefinitionToMemberMap()
10571061
{

0 commit comments

Comments
 (0)