-
Notifications
You must be signed in to change notification settings - Fork 69
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
Add support for PS Vita #160
Comments
Hi, I will be glad to help with this target, although this will require porting rustix first |
rustix 0.38.20 now compiles under armv7-sony-vita-newlibeabihf. |
@nikarh You said you wanted to help for this target; any updates on this? |
Hi, sorry for the delay. I haven't started working on it yet. |
Will attempt this one |
The last time I checked almost everything worked, except for the waker. As far as I remember, this code assumes that if it writes to the pipe, the message becomes immediately available on the other side of the pipe ( On Vita message written to pipe is not immediately available for This is because Vita doesn't have a syscall that could poll both network sockets and pipes, so pipes in the Vita newlib are implemented (or more like mocked) as a net socket on a loopback, because this implementation is much simpler than reimplementing poll as a custom busy loop with multiple syscalls for different fd types. TBH I am not sure how to solve this - we can either make pipes and poll more sensible in Vita newlib (a lot of work), or make some specific code branch for vita in this crate, which may not be something worth the maintenance burden |
@nikarh Thank you for pointing it out before I got started! |
Could this be solved by blocking on the |
Yes, I made a PR with just that. With this PR all tests actually pass on Vita (except for @mamaicode Sorry for stealing this from you 🙏 I had this code stashed locally on my machine and wasn't sure about making a PR since the solution is kinda ugly. |
Related: tokio-rs/mio#1721
This will probably need to be tacked onto the
poll()
backend like ESP-IDF is.The text was updated successfully, but these errors were encountered: