-
Notifications
You must be signed in to change notification settings - Fork 5.3k
Make polling use the symbolic link target's LastWriteTime #55664
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from 1 commit
Commits
Show all changes
18 commits
Select commit
Hold shift + click to select a range
f515710
Relax LinkTarget so it always returns null when steps on an error
jozkee 08233ba
Make polling use the symbolic link target's LastWriteTime
jozkee d780995
Fix for the case where the link can change its target
jozkee ac4a845
Add more test cases and exclude them from non-netcoreapp tfms
jozkee b4895ad
Fix project references in ref projects
jozkee ebb0326
Do not use UnsupportedOSPlatforms on test project in order to fix CI …
jozkee 1164e33
Do not return link's LastWriteTime when target not exists
jozkee 98b737a
Address feedback on tests and improve them to cover more scenarios.
jozkee 75fcf96
Make the project unsupported in browser.
jozkee 144335a
Fix duplicate reference to PlatformAttributes with IncludePlatformAtt…
jozkee 9c50a3a
Disable default items for browser
jozkee b2f9bad
Undo unrelated changes to Strings.resx
jozkee d8d143a
Replace Thread.Sleep with Task.Delay, add assertion messages to try t…
jozkee c7e28d4
Replace HasChanged for RegisterChangeCallback in tests
jozkee 5b85631
Add messages to asserts to attempt to debug CI issues
jozkee 5c27cae
Add date format to assertion messages.
jozkee 19dd9c3
Increase delay between writes to one second since OSX doesn't report …
jozkee 8c1b3a2
Merge branch 'main' of https://github.com/dotnet/runtime into symlink…
jozkee File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Do not return link's LastWriteTime when target not exists
- Loading branch information
commit 1164e3355030a95c46099395e9806d0be2a182df
There are no files selected for viewing
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
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
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
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@jozkee have you considered keeping all these libs .NET Standard 2.0 and referencing the code that defines
ResolveLinkTarget(and other things if needed)? We are already doing something like this forMicrosoft.IO.Redistwhich targetsnet471. I am just wondering how much effort it would require to keep it NS2.0.@jeffhandley @ericstj how long do we plan to keep targeting
netstandard2.0andnet461for theMicrosoft.Extensions*libs?There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
At the moment we have no plans for dropping
netstandard2.0(and therefornet461) from the extensions. Perhaps it's something that could be considered in the future if this limitation hinders development considerably. They were intentionally omitted from aspnet/Announcements#324. cc @davidfowl @DamianEdwards @maryamariyanThere was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, we're keeping ns2.0 and net461 until further notice.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We can do a different (and more efficient) approach to get the target's Last write time, see @ericstj's suggestion #55664 (comment).
But (not) saving a couple of allocations is not a big issue considering that the performance penalty is relatively low compared to other pieces of the code that allocate much more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@jozkee I wanted to know whether it would be possible to make this fix work for all TFMs (6 + NS2 + net461), because currently, it's going to work only for .NET 6.
Uh oh!
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It is, but we can defer fixing this on other TFMs if no one is asking for it.
Do you think we can take a dependency on MS.IO.Redist here to utilize the same set of Symbolic Link APIs in order to fix this in ns2.0?
cc @jeffhandley.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think to fix on older TFMs it needs more than just MS.IO.Redist. I believe the implementation of the IO API you are using here (or would add) would depend on the system-native PALs which we don't consider part of the public API. Having a package depend on those is fragile at the least, and might not even work if the versions of those don't have the exports you need on older frameworks. Adding private copies of the system-native PALs (similar to what System.IO.Ports does) is expensive too. Something to consider around OOB'ing our IO API.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ahh, good info @ericstj. So far, we don't have any requests to have this fix apply to previous versions; I'm OK with this being net6.0+ until such requests come in.