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