-
Notifications
You must be signed in to change notification settings - Fork 12.7k
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
os current_exe using same approach as linux to get always the full ab… #87631
Conversation
(rust-highfive has picked a reviewer for you, use r? to override) |
library/std/src/sys/unix/os.rs
Outdated
match crate::fs::read_link("/proc/self/path/a.out") { | ||
Err(ref e) if e.kind() == io::ErrorKind::NotFound => Err(io::Error::new_const( | ||
io::ErrorKind::Uncategorized, | ||
&"no /proc/self/a.out available. Is /proc mounted?", |
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.
Maybe still use getexecname
if /proc
is not mounted? I am guessing this could happen inside containers.
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.
fair point
The commit says "same approach as linux", but I am not seeing similar code elsewhere in this file. Regardless, this is not really my area of expertise so.. let's try r? @joshtriplett perhaps? |
originally it was closer but difference now there is fallback code path. |
…solute path but in case of failure (e.g. prcfs not mounted) still using getexecname.
I don't know Solaris, but the approach seems reasonable, and I see various references confirming that @bors r+ |
📌 Commit cb4519e has been approved by |
os current_exe using same approach as linux to get always the full ab… …solute path
…arth Rollup of 12 pull requests Successful merges: - rust-lang#87631 (os current_exe using same approach as linux to get always the full ab…) - rust-lang#88234 (rustdoc-json: Don't ignore impls for primitive types) - rust-lang#88651 (Use the 64b inner:monotonize() implementation not the 128b one for aarch64) - rust-lang#88816 (Rustdoc migrate to table so the gui can handle >2k constants) - rust-lang#89244 (refactor: VecDeques PairSlices fields to private) - rust-lang#89364 (rustdoc-json: Encode json files with UTF-8) - rust-lang#89423 (Fix ICE caused by non_exaustive_omitted_patterns struct lint) - rust-lang#89426 (bootstrap: add config option for nix patching) - rust-lang#89462 (haiku thread affinity build fix) - rust-lang#89482 (Follow the diagnostic output style guide) - rust-lang#89504 (Don't suggest replacing region with 'static in NLL) - rust-lang#89535 (fix busted JavaScript in error index generator) Failed merges: r? `@ghost` `@rustbot` modify labels: rollup
…solute path