Skip to content
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

Remove solarish compat for openpty and forkpty #4045

Open
tgross35 opened this issue Nov 15, 2024 · 3 comments · May be fixed by #4329
Open

Remove solarish compat for openpty and forkpty #4045

tgross35 opened this issue Nov 15, 2024 · 3 comments · May be fixed by #4329
Labels
C-cleanup E-easy Call for participation: Easy difficulty. Experience needed to fix: Not much. Good first issue. O-solarish

Comments

@tgross35
Copy link
Contributor

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.

@tgross35 tgross35 added O-solarish C-cleanup E-easy Call for participation: Easy difficulty. Experience needed to fix: Not much. Good first issue. labels Nov 15, 2024
@devnexen
Copy link
Contributor

devnexen commented Nov 16, 2024

Correction, those are not available on illumos, either never been accepted or reverted ; most likely the former. As for solaris, only 11.4 supports these and 11.3 is supported until 2027. Might be best to keep the situation as is, if the solaris user really wants to use the native versions, it can always be declared easily, ie no need to map complicated struct or anything. Just my 2c :)

@tgross35
Copy link
Contributor Author

Oh that's interesting, thanks for the context. Hm, I'm not sure what to do here in that case - this is about the only case of polyfill in this crate and ideally we wouldn't have any. I guess maybe we can remove these with 1.0.

@pfmooney
Copy link
Contributor

I guess maybe we can remove these with 1.0.

Doing so would break us (illumos) in the nix crate, for which they were added. In the fullness of time, I do hope/expect we'll add implementations to our native libc, but even once that happens, it will be some time until we can expect downstream distros to have it rolled out to a suitable cross section of the user base.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C-cleanup E-easy Call for participation: Easy difficulty. Experience needed to fix: Not much. Good first issue. O-solarish
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants