Skip to content

Commit 43a9e07

Browse files
fix(AsyncQueue): use TrySetResult to avoid throwing in case of error
1 parent 2ce90ef commit 43a9e07

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

src/AsyncQueue.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ public void Enqueue(T item)
5050
WaitWhileLimitReached(cts.Token);
5151
semaphore.Wait();
5252
if (waiters.TryDequeue(out var tcs))
53-
tcs.SetResult(item);
53+
tcs.TrySetResult(item);
5454
else
5555
queue.Enqueue(item);
5656
semaphore.Release();
@@ -67,7 +67,7 @@ public async Task EnqueueAsync(T item)
6767
await WaitWhileLimitReachedAsync(cts.Token);
6868
await semaphore.WaitAsync();
6969
if (waiters.TryDequeue(out var tcs))
70-
tcs.SetResult(item);
70+
tcs.TrySetResult(item);
7171
else
7272
queue.Enqueue(item);
7373
semaphore.Release();
@@ -86,7 +86,7 @@ public void EnqueueRange(IEnumerable<T> items)
8686
foreach (var item in items)
8787
{
8888
if (waiters.TryDequeue(out var tcs))
89-
tcs.SetResult(item);
89+
tcs.TrySetResult(item);
9090
else
9191
queue.Enqueue(item);
9292
}
@@ -106,7 +106,7 @@ public async Task EnqueueRangeAsync(IEnumerable<T> items)
106106
foreach (var item in items)
107107
{
108108
if (waiters.TryDequeue(out var tcs))
109-
tcs.SetResult(item);
109+
tcs.TrySetResult(item);
110110
else
111111
queue.Enqueue(item);
112112
}

0 commit comments

Comments
 (0)