-
Notifications
You must be signed in to change notification settings - Fork 13k
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
std: Handle ENOSYS when calling pipe2
#42521
Conversation
r? @brson (rust_highfive has picked a reviewer for you, use r? to override) |
Nominating for a beta backport as this is technically a regression from 1.17.0 |
src/libstd/sys/unix/pipe.rs
Outdated
// Note that despite calling a glibc function here we may still get | ||
// ENOSYS, see | ||
// https://github.com/rust-lang/rust/pull/39386#issuecomment-306970390 | ||
// for more info. |
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.
Can we not just copy the info here? I.e. "...may still get ENOSYS if the kernel is too old for pipe2 as glibc unconditionally defines the pipe2 symbol as a thin syscall wrapper."
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.
Sure yeah!
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.
Looks good to me, thanks!
This undoes what #39386 tried to do: You can save the |
Ah, that was before the advice to ignore |
Should help fix an accidental regression from rust-lang#39386.
@bors: r=cuviper |
📌 Commit 44e6406 has been approved by |
std: Handle ENOSYS when calling `pipe2` Should help fix an accidental regression from rust-lang#39386.
std: Handle ENOSYS when calling `pipe2` Should help fix an accidental regression from #39386.
☀️ Test successful - status-appveyor, status-travis |
Just because libc has the symbol, doesn't mean the kernel supports it. Based on rust-lang/rust#42521.
Should help fix an accidental regression from #39386.