Skip to content

Commit

Permalink
Fix for dotnet#1217
Browse files Browse the repository at this point in the history
  • Loading branch information
chrfin committed Sep 7, 2019
1 parent 05c1c24 commit 197cb36
Showing 1 changed file with 3 additions and 13 deletions.
16 changes: 3 additions & 13 deletions src/EntityFramework/Core/Query/InternalTrees/VarVec.cs
Original file line number Diff line number Diff line change
Expand Up @@ -843,11 +843,11 @@ private static int GetArraySize(int n, int div)

private class ArrayPool
{
private Dictionary<int, ConcurrentBag<int[]>> dictionary;
private ConcurrentDictionary<int, ConcurrentBag<int[]>> dictionary;

private ArrayPool()
{
dictionary = new Dictionary<int, ConcurrentBag<int[]>>();
dictionary = new ConcurrentDictionary<int, ConcurrentBag<int[]>>();
}

private static readonly ArrayPool instance = new ArrayPool();
Expand All @@ -872,17 +872,7 @@ public int[] GetArray(int length)

private ConcurrentBag<int[]> GetBag(int length)
{
ConcurrentBag<int[]> arrays;
if (!dictionary.ContainsKey(length))
{
arrays = new ConcurrentBag<int[]>();
dictionary[length] = arrays;
}
else
{
arrays = dictionary[length];
}
return arrays;
return dictionary.GetOrAdd(length, l => new ConcurrentBag<int[]>());
}

public void PutArray(int[] arr)
Expand Down

0 comments on commit 197cb36

Please sign in to comment.