Deprecate polyfills and remove in 1.0 (solarish compat `openpty` and `forkpty`, android accept4)
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 2.6k
- Forks
- 1.3k
- Avg merge
- 1d 22h
- Merged PRs (30d)
- 69
Description
We currently polyfill these functions for solarish in https://github.com/rust-lang/libc/blob/3a0b0444d7206aa3feb30297c005597a960d0b33/src/unix/solarish/compat.rs, but it would be better to phase these out so we're not providing any implementations in libc.
It looks like Solaris supports openpty and forkpty https://docs.oracle.com/cd/E88353_01/html/E37843/openpty-3c.html, and Illumos has had them for at least a few years https://www.illumos.org/issues/5386, so at this point our implementation could be replaced with bindings.
Similar for Android (there are a few definitions) https://github.com/rust-lang/libc/blob/1268c28d23296abc7ff9f7ba78c8903c5ccea356/src/unix/linux_like/android/b32/x86/mod.rs#L549-L568
And vxworks
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reading src/unix/solarish/compat.rs and the Android definitions in src/unix/linux_like/android/b32/x86/mod.rs, then inspect the corresponding vxworks definitions in src/vxworks/mod.rs. Check the linked Solaris and Illumos API references before determining the platform bindings affected. Done means the listed polyfills are phased out and the affected platforms use their native APIs or bindings instead.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- operating-systems
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100