v2.0.0
tag5bf638f9d8e4dbf8857f70fc326bb2865b63c077
object cdebfac019b5e771f7babc5646a3c7961729eaca
authorEric Wong <normalperson@yhbt.net>
Thu, 10 Mar 2011 04:43:45 +0000 (10 04:43 +0000)
sleepy_penguin 2.0.0

There are many internal cleanups, bugfixes, and incompatible
API changes.  The API will probably be stable from now on.

All the flag passing is less verbose, in the past you had
to do:

    tfd = TimerFD.new(TimerFD::CLOEXEC|TimerFD::NONBLOCK)

Now, you can just do (the old way still works):

    tfd = TimerFD.new([:CLOEXEC, :NONBLOCK])

A SignalFD interface now exists, but is not recommended since
MRI signal handling seems to conflict with it.

Inotify#close no longer holds the GVL while closing the
descriptor since it is an expensive operation.

See git log v1.4.0..v2.0.0 for all the gory details.