-
Notifications
You must be signed in to change notification settings - Fork 12.9k
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
Windows: Allow running processes whose path exceeds the legacy MAX_PATH
#86406
Conversation
(rust-highfive has picked a reviewer for you, use r? to override) |
b0ff367
to
91f27f3
Compare
It was pointed out to me that my previous implementation meant paths would have slightly different behaviours, depending only on the length, because of the way Note that |
r? @joshtriplett perhaps? I'm not sure if we have anyone with close enough familiarity or knowledge of Windows primitives to review this, but I don't think I'm the right person. |
Cc @retep998 |
☔ The latest upstream changes (presumably #85832) made this pull request unmergeable. Please resolve the merge conflicts. |
Previously `Command` would simply fail when run using long paths. This also implements the `CreateProcessW` rules for appending `.exe`. This is to ensure both backwards compatibility and consistent behaviour between both long and short paths. However, this could be changed (and hopefully simplified) in the future.
f209d99
to
511c708
Compare
I now minded to close this PR in favour of doing a bigger overhaul of how |
On Windows
Command
currently fails when run using paths longer than the legacyMAX_PATH
. This PR allows running such executables while leaving the behaviour of shorter paths unchanged.This does not risk changing the behaviour of currently working code. It only allows something to work that would previously fail.