libxev is a cross-platform, high-performance event loop that provides abstractions for non-blocking IO, timers, events, and more and works on Linux (io_uring or epoll), macOS (kqueue), and Wasm + WASI. Available as both a Zig and C API.
When working on a project, I wanted to see if setting NONBLOCK would allow for the thread to shutdown if the loop is stopped. I enabled it and got errno 11 which is EAGAIN. I think libxev should handle this error and just continue to monitor until the next event. This would make it so developers using libxev won't have to catch this error on their own.
When working on a project, I wanted to see if setting
NONBLOCK
would allow for the thread to shutdown if the loop is stopped. I enabled it and got errno 11 which isEAGAIN
. I thinklibxev
should handle this error and just continue to monitor until the next event. This would make it so developers usinglibxev
won't have to catch this error on their own.