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

Support the AIX operating system #89

Open
notgull opened this issue Feb 20, 2023 · 2 comments
Open

Support the AIX operating system #89

notgull opened this issue Feb 20, 2023 · 2 comments
Labels
help wanted Extra attention is needed

Comments

@notgull
Copy link
Member

notgull commented Feb 20, 2023

Rust is currently moving to support AIX, see rust-lang/compiler-team#553. AIX uses a system called "pollsets" that is vaguely similar to BSD's kqueue system for efficient polling. We should probably add a backend for this system.

Alternatively, AIX could just use the current poll()-based backend. But I don't think that would be as efficient.

CC @ecnelises I can write the initial implementation, but I don't have an AIX machine to test it on. Would you be able to test it?

@ecnelises
Copy link

I'm not familiar with this crate, but I've written an initial implementation of pollset in mio (tokio-rs/mio#1620).

Unfortunately, I found different behavior between Linux and AIX when pollset_ctling a fd duplicated by fcntl, which is relied on by mio. I'm looking into it but I'm not sure that is related to this crate.

I'll have a look at this crate and try if porting pollset into this works fine.

@notgull
Copy link
Member Author

notgull commented Feb 21, 2023

Thank you!

Unfortunately, I found different behavior between Linux and AIX when pollset_ctling a fd duplicated by fcntl, which is relied on by mio. I'm looking into it but I'm not sure that is related to this crate.

This crate doesn't have a try_clone() feature, so this hopefully shouldn't be an issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help wanted Extra attention is needed
Development

No branches or pull requests

2 participants