Skip to content
This repository was archived by the owner on Jan 23, 2023. It is now read-only.

Conversation

@stephentoub
Copy link
Member

SocketPal.Poll on Unix is currently implemented with select. This is causing problems due to limitations of select, which fails with file descriptors >= FD_SETSIZE. I've changed the implementation to use poll instead, which both fixes the problem and results in simpler code. I've also added a few tests, and in the process of doing so cleaned up some related tests to use theories.

This is blocking #6833, which in CI is frequently getting file descriptors for sockets larger than FD_SETSIZE.

cc: @ericeil, @pgavlin, @davidsh, @CIPop
Contributes to #4728.

SocketPal.Poll on Unix is currently implemented with select.  This is causing problems due to limitations of select, which fails with file descriptors >= FD_SETSIZE.  I've changed the implementation to use poll instead, which both fixes the problem and results in simpler code.  I've also added a few tests, and in the process of doing so cleaned up some related tests to use theories.
@stephentoub
Copy link
Member Author

I confirmed with @ericeil that his "LGTM" from #6856 applied here, too 😄

stephentoub added a commit that referenced this pull request Mar 14, 2016
Implement SocketPal.Poll on Unix with poll instead of select
@stephentoub stephentoub merged commit b866f52 into dotnet:master Mar 14, 2016
@stephentoub stephentoub deleted the socket_poll branch March 14, 2016 18:47
@karelz karelz modified the milestone: 1.0.0-rtm Dec 3, 2016
@karelz karelz added the os-linux Linux OS (any supported distro) label Mar 8, 2017
picenka21 pushed a commit to picenka21/runtime that referenced this pull request Feb 18, 2022
Implement SocketPal.Poll on Unix with poll instead of select

Commit migrated from dotnet/corefx@b866f52
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

area-System.Net os-linux Linux OS (any supported distro)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants