Skip to content

Commit 9d1c01a

Browse files
authored
Use TrySetCanceled and TrySetResult to avoid finalizing the task twice (Azure#37984)
1 parent 38092cb commit 9d1c01a

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

sdk/openai/Azure.AI.OpenAI/src/Helpers/AsyncAutoResetEvent.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ public Task WaitAsync(CancellationToken cancellationToken = default)
2525
else
2626
{
2727
var tcs = new TaskCompletionSource<bool>(TaskCreationOptions.RunContinuationsAsynchronously);
28-
cancellationToken.Register(() => tcs?.SetCanceled());
28+
cancellationToken.Register(() => tcs?.TrySetCanceled());
2929
_waits.Enqueue(tcs);
3030
return tcs.Task;
3131
}
@@ -42,7 +42,7 @@ public void Set()
4242
else if (!_signaled)
4343
_signaled = true;
4444
}
45-
toRelease?.SetResult(true);
45+
toRelease?.TrySetResult(true);
4646
}
4747
}
4848
}

0 commit comments

Comments
 (0)