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