[ANN] sleepy_penguin 3.0.0 - Linux I/O events for Ruby

sleepy_penguin provides access to newer, Linux-only system calls to wait
on events from traditionally non-I/O sources. Bindings to the eventfd,
timerfd, inotify, signalfd (not recommended) and epoll interfaces are
provided.

* http://bogomips.org/sleepy_penguin/
* sleepy.penguin@librelist.com
* git://bogomips.org/sleepy_penguin.git

Several slightly backwards-incompatible API changes, so there's a major
version bump from 2.0.0 to 3.0.0.

/Most/ code doesn't need to be modified from 2.0.0, even (of course I
don't know of anybody using this library...).

Changes:

Epoll#wait always waits the specified amount of time and never
raises Errno::EINTR.

Disabled operations on Fixnum file descriptors, only IO objects
may be passed to Epoll methods.

Cross-thread Epoll#close behavior matches Ruby 1.9.3dev (under 1.9.3dev).

Improved Rubinius support (lightly tested).

···

--
Eric Wong

Just pushed out 3.0.1 that fixes a race condition and really
ensures Errno::EINTR never gets raised :>

···

Eric Wong <normalperson@yhbt.net> wrote:

Epoll#wait always waits the specified amount of time and never
raises Errno::EINTR.

--
Eric Wong