kgio provides non-blocking I/O methods for Ruby without raising
exceptions on EAGAIN and EINPROGRESS. It is intended for use with the
Unicorn and Rainbows! Rack servers, but may be used by other
applications (that run on Unix-like platforms).
When running under Ruby trunk/2.0.0dev, all IO objects created
by kgio will be close-on-exec by default to match the (future)
2.0.0 behavior. accept()ed sockets in kgio have always been
close-on-exec by default…
Singleton Kgio.accept_* methods are deprecated as the
kgio_accept/kgio_tryaccept methods all take an additional
There are various, test, documentation, and error message
improvements. Thanks to Jeremy E. for once again ensuring
tests pass under OpenBSD.