Compare commits

..

1 Commits

Author SHA1 Message Date
dvsilch
0db2f737b8 Merge d3e71502d6 into 06067cd4c8 2025-04-09 13:48:29 +00:00

View File

@@ -10,7 +10,7 @@ namespace Cysharp.Threading.Tasks
static Action<object> continuation = SetCompletionSource; static Action<object> continuation = SetCompletionSource;
Func<UniTask> taskFactory; Func<UniTask> taskFactory;
UniTaskCompletionSource completionSource; AutoResetUniTaskCompletionSource completionSource;
UniTask.Awaiter awaiter; UniTask.Awaiter awaiter;
object syncLock; object syncLock;
@@ -19,7 +19,7 @@ namespace Cysharp.Threading.Tasks
public AsyncLazy(Func<UniTask> taskFactory) public AsyncLazy(Func<UniTask> taskFactory)
{ {
this.taskFactory = taskFactory; this.taskFactory = taskFactory;
this.completionSource = new UniTaskCompletionSource(); this.completionSource = AutoResetUniTaskCompletionSource.Create();
this.syncLock = new object(); this.syncLock = new object();
this.initialized = false; this.initialized = false;
} }
@@ -27,7 +27,7 @@ namespace Cysharp.Threading.Tasks
internal AsyncLazy(UniTask task) internal AsyncLazy(UniTask task)
{ {
this.taskFactory = null; this.taskFactory = null;
this.completionSource = new UniTaskCompletionSource(); this.completionSource = AutoResetUniTaskCompletionSource.Create();
this.syncLock = null; this.syncLock = null;
this.initialized = true; this.initialized = true;
@@ -129,7 +129,7 @@ namespace Cysharp.Threading.Tasks
static Action<object> continuation = SetCompletionSource; static Action<object> continuation = SetCompletionSource;
Func<UniTask<T>> taskFactory; Func<UniTask<T>> taskFactory;
UniTaskCompletionSource<T> completionSource; AutoResetUniTaskCompletionSource<T> completionSource;
UniTask<T>.Awaiter awaiter; UniTask<T>.Awaiter awaiter;
object syncLock; object syncLock;
@@ -138,7 +138,7 @@ namespace Cysharp.Threading.Tasks
public AsyncLazy(Func<UniTask<T>> taskFactory) public AsyncLazy(Func<UniTask<T>> taskFactory)
{ {
this.taskFactory = taskFactory; this.taskFactory = taskFactory;
this.completionSource = new UniTaskCompletionSource<T>(); this.completionSource = AutoResetUniTaskCompletionSource<T>.Create();
this.syncLock = new object(); this.syncLock = new object();
this.initialized = false; this.initialized = false;
} }
@@ -146,7 +146,7 @@ namespace Cysharp.Threading.Tasks
internal AsyncLazy(UniTask<T> task) internal AsyncLazy(UniTask<T> task)
{ {
this.taskFactory = null; this.taskFactory = null;
this.completionSource = new UniTaskCompletionSource<T>(); this.completionSource = AutoResetUniTaskCompletionSource<T>.Create();
this.syncLock = null; this.syncLock = null;
this.initialized = true; this.initialized = true;