Skip to content

Commit 2f19f04

Browse files
authored
Merge pull request #1552 from microsoft/dev/andarno/stabilizeTests
Reduce AsyncLazy value factory retention to improve GC-test stability
2 parents df06a8f + 965b77e commit 2f19f04

1 file changed

Lines changed: 4 additions & 1 deletion

File tree

src/Microsoft.VisualStudio.Threading/AsyncLazy`1.cs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -199,13 +199,16 @@ public Task<T> GetValueAsync(CancellationToken cancellationToken)
199199
this.valueFactory = null;
200200
Func<Task<T>> valueFactory = async delegate
201201
{
202+
Func<Task<T>>? localValueFactory = originalValueFactory;
203+
originalValueFactory = null;
202204
try
203205
{
204206
await resumableAwaiter;
205-
return await originalValueFactory().ConfigureAwaitRunInline();
207+
return await localValueFactory().ConfigureAwaitRunInline();
206208
}
207209
finally
208210
{
211+
localValueFactory = null;
209212
this.joinableTask = null;
210213
}
211214
};

0 commit comments

Comments
 (0)