Skip to content

Conversation

@geoffkizer
Copy link
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
Copy link

ghost commented Apr 6, 2021

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
Contributor Author

/azp run runtime-libraries-coreclr outerloop

@azure-pipelines
Copy link

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