Conversation
Open
1 task
…change in .NET 11 Agent-Logs-Url: https://github.com/dotnet/docs/sessions/8ae53bcd-ed7a-4368-898a-433576b68e76 Co-authored-by: gewarren <24882762+gewarren@users.noreply.github.com>
Copilot
AI
changed the title
[WIP] Fix SafeFileHandle.IsAsync to reflect non-blocking state on Unix
docs: Breaking change — SafeFileHandle.IsAsync and FileStream.IsAsync now reflect actual O_NONBLOCK state on Unix (.NET 11)
Apr 7, 2026
Corrected the behavior of SafeFileHandle.IsAsync on Unix to accurately reflect the non-blocking state of file descriptors. Updated documentation to clarify the changes and their implications.
gewarren
approved these changes
Apr 7, 2026
Contributor
There was a problem hiding this comment.
Pull request overview
Adds a new .NET 11 breaking change article documenting updated Unix semantics for SafeFileHandle.IsAsync and FileStream.IsAsync, and wires the article into the .NET compatibility index and TOC.
Changes:
- Adds a new breaking change article describing the Unix
IsAsyncbehavior update (and relatedSendPacketsElementbehavior on non-Windows). - Updates the .NET 11 breaking changes index to include the new entry.
- Updates the compatibility TOC to surface the new article under .NET 11 > Core .NET libraries.
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
| docs/core/compatibility/core-libraries/11/safefilehandle-isasync-unix.md | New breaking change article describing the updated Unix IsAsync behavior and recommended actions. |
| docs/core/compatibility/11.md | Adds the new breaking change link to the .NET 11 index table. |
| docs/core/compatibility/toc.yml | Adds a TOC entry so the new article appears in navigation. |
Agent-Logs-Url: https://github.com/dotnet/docs/sessions/106a7ea2-8628-4d51-9f8a-e8a93476426d Co-authored-by: gewarren <24882762+gewarren@users.noreply.github.com>
Clarified the behavior of SafeFileHandle.IsAsync on Unix regarding asynchronous and non-blocking file descriptors.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
In .NET 11 Preview 3,
SafeFileHandle.IsAsyncandFileStream.IsAsyncon Unix changed from always returningtruefor files opened withFileOptions.Asynchronousto accurately reflecting whetherO_NONBLOCKis set on the file descriptor. Regular files now returnfalse; only genuinely non-blocking fds (pipes, sockets) returntrue.Changes
docs/core/compatibility/core-libraries/11/safefilehandle-isasync-unix.mdcovering:SafeFileHandle.IsAsync/FileStream.IsAsyncUnix behavior changeSendPacketsElement(FileStream, ...)no longer throwsArgumentExceptionon non-Windows for non-async streams11.md— added row under Core .NET librariestoc.yml— added entry under .NET 11 > Core .NET librariesBehavior at a glance
Internal previews