Clarify FileShare enum descriptions to remove ambiguity Fixes #10572 #11894
+4
−4
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.
Summary
Details
The original FileShare enum documentation used the word "subsequent" in descriptions like "Allows subsequent
opening of the file for reading", which incorrectly implied that these flags only affect future file open attempts
after the current one.
In reality, FileShare flags control whether any attempt to open the file (including the current one) will
succeed, based on how existing file handles were opened. This was demonstrated in issue #10572 with this example:
The second open fails because the first handle has Write access, even though both specify FileShare.Read. The
original documentation's use of "subsequent" made this behavior unclear.
Changes
other processes"
writing by this process or other processes"
other processes"
Fixes #10572