ChangeLog in sleepy_penguin-3.0.1 vs ChangeLog in sleepy_penguin-3.1.0
- old
+ new
@@ -1,6 +1,162 @@
ChangeLog from http://bogomips.org/sleepy_penguin.git
+ commit db1eb67855149050e448c63df12ade22135916cd
+ Author: Eric Wong <normalperson@yhbt.net>
+ Date: Wed May 2 08:56:22 2012 +0000
+
+ sleepy_penguin 3.1.0 - minor fixes and features
+
+ * add TimerFD::CANCEL_ON_SET constant
+ ref: http://www.man7.org/tlpi/api_changes/
+ * fix concurrent Epoll#wait on the same epoll fd
+ * SignalFD interface removed (unworkable with Ruby runtimes)
+ * use rb_update_max_fd() if available (Ruby 1.9.3)
+ * reintroduce SLEEPY_PENGUIN_VERSION constant ("3.1.0")
+
+ commit 455bd1f97e978d337764e2c917353889c3fa4d9c
+ Author: Eric Wong <normalperson@yhbt.net>
+ Date: Wed May 2 08:52:03 2012 +0000
+
+ reintroduce SLEEPY_PENGUIN_VERSION constant
+
+ We unfortunately need it since we switched to the
+ per-thread epoll_wait structures.
+
+ commit 1264e45ee8776e68df08e76a75d08fa745266e22
+ Author: Eric Wong <normalperson@yhbt.net>
+ Date: Wed May 2 08:24:52 2012 +0000
+
+ timerfd: remove unusable constants (never released)
+
+ timerfd currently (Linux 3.3.x) only supports CLOCK_REALTIME and
+ CLOCK_MONOTONIC, and not every single clock supported by POSIX
+ clocks.
+
+ commit e2a9b831ec9ab2c8fad622deec1aef8853f4cb41
+ Author: Eric Wong <normalperson@yhbt.net>
+ Date: Sun Apr 22 08:13:46 2012 +0000
+
+ epoll: update comment on free(NULL) usage
+
+ It's POSIX, and since epoll is Linux-only and Linux
+ uses glibc which is pretty up-to-date w.r.t POSIX,
+ we don't have to worry...
+
+ commit b6982e360e00adc2a15c6d75dc6a5cde56cd9e7f
+ Author: Eric Wong <normalperson@yhbt.net>
+ Date: Sat Dec 10 20:50:41 2011 +0000
+
+ teset: epoll used as a queue
+
+ This is a testcase I wrote a few months ago
+
+ commit 6fa0bc3f4c6fd959463a3906a820a724076a416c
+ Author: Eric Wong <normalperson@yhbt.net>
+ Date: Thu Mar 22 08:29:13 2012 +0000
+
+ epoll: use per-thread data structure for concurrent Epoll#wait
+
+ This allows multiple threads to park on Epoll#wait (without
+ holding onto the GVL). This allows a single, one-shot notification
+ to wake up a single thread (another notification to a different
+ IO object would wake up another thread).
+
+ This allows using the same multi-threaded, EPOLLONESHOT-based
+ design as cmogstored:
+
+ http://bogomips.org/cmogstored/queues.txt
+
+ commit ec3be1488e53036a9a502fbb670ea584c41d5ade
+ Author: Eric Wong <normalperson@yhbt.net>
+ Date: Thu Mar 22 08:27:31 2012 +0000
+
+ test_epoll: disable expensive test without STRESS
+
+ Tests run a lot faster, now, and this isn't functionality
+ we have to worry about often now that I better understand
+ MRI internals.
+
+ commit e38bb616f8dc15ba3cf082388aca75ac449645e6
+ Author: Eric Wong <normalperson@yhbt.net>
+ Date: Thu Mar 22 08:24:59 2012 +0000
+
+ sleepy_penguin.h: add prototype for rb_thread_io_blocking_region
+
+ This function is exposed in the libruby-static archive for
+ Ruby 1.9.3, but there is no publically-declared prototype for it.
+
+ commit c72bc3f27b1ea65baa36eba3d24a32a1b9647ac1
+ Author: Eric Wong <normalperson@yhbt.net>
+ Date: Wed Mar 7 09:21:45 2012 +0000
+
+ epoll: split out ugly green thread code
+
+ It's ugly and confusing to look at, so split it out.
+
+ commit c309a1eca250ae55f454f5cbe9248191d7ff0e82
+ Author: Eric Wong <normalperson@yhbt.net>
+ Date: Thu Feb 23 08:15:21 2012 +0000
+
+ test: new testcase for edge-triggered accept
+
+ Found uncommited in my working directory, I can't remember
+ when/where I wanted to test this, but we might as well for
+ documentation purposes...
+
+ commit ef6beed6ae65e1d66e7a23a61aadee68a65d9757
+ Author: Eric Wong <normalperson@yhbt.net>
+ Date: Tue Jul 26 17:20:10 2011 -0700
+
+ use sleepy.penguin@librelist.org address instead of .com
+
+ Neither we nor librelist are commercial projects, so use
+ the TLD preferred for non-profit entities.
+
+ commit c77c7e4cf7f2850d7163db3fcbed5a0ef829edb9
+ Author: Eric Wong <normalperson@yhbt.net>
+ Date: Tue Jul 26 17:11:43 2011 -0700
+
+ disable SignalFD interface
+
+ It's a waste of memory to have something that has no chance
+ of working reliably with any existing Ruby runtimes.
+
+ commit 73732a743e90cb40336946168619e0d328f7e213
+ Author: Eric Wong <normalperson@yhbt.net>
+ Date: Tue Jul 26 17:07:27 2011 -0700
+
+ rb_update_max_fd() support for epoll
+
+ This is the only descriptor we manage ourselves and don't
+ use IO.for_fd with (epoll is quite "special" wrt fork).
+
+ commit 39a80da93d03c30b4e39e9363e0233a891c83935
+ Author: Eric Wong <normalperson@yhbt.net>
+ Date: Thu Jun 16 07:45:40 2011 +0000
+
+ fix unused variable warnings
+
+ Oops...
+
+ commit e71c6f4f4a79ae6d21a0da1a767af2ed168df0f3
+ Author: Eric Wong <normalperson@yhbt.net>
+ Date: Wed Jun 15 16:36:56 2011 -0700
+
+ timerfd: add new constants from 2.6.39 and 3.0
+
+ We still need to document these.
+
+ ref: http://www.man7.org/tlpi/api_changes/
+
+ commit c4e6fa6fed7213ca4f7ac270b56bfd4c044c7b91
+ Author: Eric Wong <normalperson@yhbt.net>
+ Date: Wed Jun 8 17:00:42 2011 -0700
+
+ test_epoll: add level trigger test
+
+ Just to ensure we still work with level triggered usage.
+
commit ee4481de83bb8d208ff99aed9b5fff393115114c
Author: Eric Wong <normalperson@yhbt.net>
Date: Fri May 20 19:39:58 2011 -0700
sleepy_penguin 3.0.1 - really avoids EINTR