-
Notifications
You must be signed in to change notification settings - Fork 742
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 of HermitOS #1759
add support of HermitOS #1759
Conversation
HermitOS is a library operating system. It it is partly compatible to Unix. Consequently, the system interface to unix is revised to support HermitOS.
We have also version, which based on the branch v0.8.x. Are you interested to integrate HermitOS in the version 0.8? |
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.
We're not the biggest fan of dependency. Any chance we can do this with just the libc crate?
We can backport later. |
Yes, I can understand that dependencies are critical. Our OS is written completely in Rust and a classical C library is missing. By the way, we used a revised version of your examples in our CI. |
It was pointed out to me that Hermit does support the libc crate, e.g. rust-lang/libc#3348. If that's the case we're not accepting hermit-abi as dependency. |
The only code in |
After a bit of discussion we decided to accept the dependency and support of HermitOS as experimental. If you can address the three comments I made earlier we can merge this. |
Great! The last commit should solve the first comment. For the other comments, we will find a solution. I will do it next week. |
Thanks for making the changes, I'm traveling right now so I can't properly review this until next week. |
The changes aren't finished. I will "ping" you, when I solve everything. |
- increase the readability
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.
LGTM.
Is this ready to merge?
I think that the current version is ready to merge |
HermitOS is a library operating system. The handling of the socket streams is compatible to unix. However, other parts are not compatible to Unix. Consequently, HermitOS doesn't belong to the unix family.
To support MIO, MIO's unix is revised to support HermitOS. Currently, the implementation based on the unix system
poll
.