-
Notifications
You must be signed in to change notification settings - Fork 53
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
Added linux scheduler #63
Conversation
930c141
to
95abb5b
Compare
File IO and Sockets implemented as well on top of this scheduler. |
95abb5b
to
4fbba52
Compare
Hi, thanks a lot, this is amazing. I'll look into it as soon as possible. It would be great to finally have a Linux backend in cppcoro. |
Any updates? |
Sorry I still did not find the time to look into this. I do my best to come back to you ASAP. |
Hi danlapid, sorry for the delay. Some live events required my full attention during the last months. Now I'd have some resources. Would you be interested in following up on this? First step would be a rebase on the current main and get the CI passing. |
4fbba52
to
a89782d
Compare
@andreasbuhr |
a89782d
to
907ad29
Compare
That's great, thanks a lot! |
This is mostly based on lewissbaker#64
I changed the message queue implementation from mqeueue to a simple pipe().
It's mainly just a simplification, none of the mqueue specific features were being used and the code had needless complexity. (such as dependency on libuuid).
I saw the other proposals using io_uring and decided against it as it only supports new-ish kernels.
Epoll would support many more kernel versions.
Also, supporting kqueue for macOS would be super simple as it is almost identical to epoll in terms of usage.