Releases: dallison/co
Add PollAndWait
This release builds on the multi-fd-wait feature and adds PollAndWait functions.
Multiple coroutines per fd in epoll mode
Fixed interrupt fd handling in epoll
Fixes an issue with epoll where an interrupt fd can cause a nullptr.
Custom context switcher for x86_64 and aarch64
This provides a custom assembly language context switcher for coroutines.
It is faster than the Linux user contexts and safer than setjmp/longjmp. It is supported only on x86_64 and aarch64 architectures. User contexts and setjmp/longjmp are still supported and can be selected if necessary by modifying the macros in coroutine.h
Custom context switcher
This is a tag from a feature branch that provides custom contexts functions that are higher performance than the setjmp/longjmp or the Linux user-context based versions.
Both x86_64 and Aarch64 version of the context switching code are available.
Fix mac build
Fixed epoll support and, of course, broke poll support
Linux epoll improvements
Minor changes for epoll support
Epoll on Linux
This enables the use of the linux-specific epoll function on Linux by default.
If this doesn't work for you, you can switch it off by changing the POLL_MODE macro in coroutine.h
Fix timerfd calculations
Fixes timerfd calculations on linux
New constructor for name and stack size
Very minor update to provide a convenience constructor for a coroutine that allows the name and stack size to be specified easier.