Skip to content

ensure that sync Connect calls ShouldRetrySyncOperation#50788

Merged
geoffkizer merged 1 commit into
dotnet:mainfrom
geoffkizer:tryregisterassert
Apr 9, 2021
Merged

ensure that sync Connect calls ShouldRetrySyncOperation#50788
geoffkizer merged 1 commit into
dotnet:mainfrom
geoffkizer:tryregisterassert

Conversation

@geoffkizer

Copy link
Copy Markdown
Contributor

I believe this is the root of the issue in #50380.

Other sync socket calls (send, recv, etc) call ShouldRetrySyncOperation in order to distinguish between a timeout on a sync socket vs EAGAIN on a socket that's been forced into nonblocking mode. The Connect operation isn't, which means that we are misinterpreting some timeouts as meaning that the socket is now nonblocking.

Fixes #50380

@ghost

ghost commented Apr 6, 2021

Copy link
Copy Markdown

Tagging subscribers to this area: @dotnet/ncl
See info in area-owners.md if you want to be subscribed.

Issue Details

I believe this is the root of the issue in #50380.

Other sync socket calls (send, recv, etc) call ShouldRetrySyncOperation in order to distinguish between a timeout on a sync socket vs EAGAIN on a socket that's been forced into nonblocking mode. The Connect operation isn't, which means that we are misinterpreting some timeouts as meaning that the socket is now nonblocking.

Fixes #50380

Author: geoffkizer
Assignees: -
Labels:

area-System.Net.Sockets

Milestone: -

@geoffkizer

Copy link
Copy Markdown
Contributor Author

/azp run runtime-libraries-coreclr outerloop

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 1 pipeline(s).

@geoffkizer
geoffkizer merged commit 3128ab9 into dotnet:main Apr 9, 2021
@geoffkizer
geoffkizer deleted the tryregisterassert branch April 9, 2021 01:34
@ghost ghost locked as resolved and limited conversation to collaborators May 9, 2021
@karelz karelz added this to the 6.0.0 milestone May 20, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Failed assert in SocketAsyncContext.TryRegister in CI

4 participants