Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
On FreeBSD, the kevent EVFILT_READ=-1 and EVFILT_WRITE=-2 (rather than 1 and 2), so when they are ORed together you get -1, so we only end up registering READ in tvhpoll.
This means that on an async tcp connect we eventually timeout since we are not registered for WRITE.
So we now delete the special logic and use the existing separate read/write registration logic.
Also no longer return EIO for FreeBSD on tcp_socket_dead for zero bytes available to read, otherwise streaming fails to my tablet since we get no bytes to read so immediately disconnect the client, but no bytes on async socket is not same as eof.