[ANN] sleepy_penguin 3.3.0 - Linux I/O events (and kqueue) 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, and epoll interfaces are provided. Experimental support
for kqueue on FreeBSD (and likely OpenBSD/NetBSD) are also provided.

* http://bogomips.org/sleepy_penguin/
* sleepy.penguin@librelist.org
* git://bogomips.org/sleepy_penguin.git
* http://bogomips.org/sleepy_penguin/NEWS.atom.xml

Changes:

fixes and compatibility improvements

Most notably, this fixes memory leaks for any users of inotify
reads, epoll/kevent waiting using short-lived thread. Users of
long-lived threads for these functions (all Rainbows!, yahns, and
zbatery users) are not affected. A fair amount of internal cleanup
was necessary for this.

Compatibility with non-Linux systems without clock_gettime is
improved, thanks to Lin Jen-Shin.

Note: the kevent code is not at all optimized and still uses
RARRAY_PTR, so it likely sucks under rbx and MRI 2.1.

Eric Wong (13):
      test_epoll: minor compatibility fix for Ruby 2.1.0
      avoid RARRAY_PTR usage for Linux-only bits
      init: avoid redefinition warning for _GNU_SOURCE
      Rakefile: kill raa_update task
      util: minor cleanup to favor rb_io_get_io
      tests: switch to minitest
      test_epoll: switch test_dup_and_fork to exit!
      remove all signalfd-related files
      tests: remove version-dependent FD_CLOEXEC checks
      work around lack of rb_io_get_io in Rubinius
      value2timespec: use StringValueCStr for correctness
      refactor and fix leak from thread-local storage use
      extconf: avoid unnecessary linkage against libkqueue

Lin Jen-Shin (1):
      Support for broken system without clock_gettime.

···

--
Eric Wong