New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Added a missing ConfigureAwait(false)
call
#20606
Added a missing ConfigureAwait(false)
call
#20606
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
Has the whole file been revised? I see CopyToAsync there. |
@SeeminglyScience - Can you respond to @iSazonov comment. |
This PR has Quantification details
Why proper sizing of changes matters
Optimal pull request sizes drive a better predictable PR flow as they strike a
What can I do to optimize my changes
How to interpret the change counts in git diff output
Was this comment helpful? 👍 :ok_hand: :thumbsdown: (Email) |
Good catch! Fixed (and reviewed the rest of the file) |
@@ -292,7 +292,7 @@ internal static async Task CopyToAsync(this Stream source, Stream destination, T | |||
if (perReadTimeout == Timeout.InfiniteTimeSpan) | |||
{ | |||
// No timeout - use fast path | |||
await source.CopyToAsync(destination, cancellationToken); | |||
await source.CopyToAsync(destination, cancellationToken).ConfigureAwait(false); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Eh, it would be great to cover the code path by test too.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Eh, it would be great to cover the code path by test too.
Honestly the test I did add felt a little arbitrary since it's really any await. I'll be submitting a PR to add the analyzer which will be a little bit better at ensuring the same doesn't happen again
Fixes #20585
PR Summary
Some changes to
async
code did not include a call toConfigureAwait(false)
so web requests were dead locking trying to continue on the pipeline thread.PR Context
PR Checklist
.h
,.cpp
,.cs
,.ps1
and.psm1
files have the correct copyright headerWIP:
or[ WIP ]
to the beginning of the title (theWIP
bot will keep its status check atPending
while the prefix is present) and remove the prefix when the PR is ready.(which runs in a different PS Host).