ChangeLog in posix_mq-0.2.0 vs ChangeLog in posix_mq-0.3.0

- old
+ new

@@ -1,6 +1,120 @@ ChangeLog from git://git.bogomips.org/ruby_posix_mq.git () + commit 2e420820d3b3fb228c810937539f95a618a2c271 + Author: Eric Wong <normalperson@yhbt.net> + Date: Sat Jan 9 22:52:27 2010 +0000 + + posix_mq 0.3.0 + + This release adds a few new API methods, fixes MRI 1.8.6 + support. We should now have full feature parity with + underlying POSIX message queue C API. + + * POSIX_MQ#notify(&block) + RDoc: http://bogomips.org/ruby_posix_mq/POSIX_MQ.html#M000001 + This is only supported on platforms that implement + SIGEV_THREAD with mq_notify(3) (tested with glibc + Linux). + Other platforms will have to continue to rely on signal + notifications via POSIX#notify=signal, or IO notifications + in FreeBSD (and Linux). + + * POSIX_MQ#shift([buffer [,timeout]]) + Shorthand for the common "POSIX_MQ#receive.first" + when you do not care for priority of the received message. + + Rev, EventMachine and Reactor support are planned for + Linux, FreeBSD and possibly any other platforms where POSIX + message queues are implemented with a file descriptor. + + commit 2c71257b2b95e737088726ffc963b4e72f1b5455 + Author: Eric Wong <normalperson@yhbt.net> + Date: Sat Jan 9 22:49:49 2010 +0000 + + MRI 1.8 does not have rb_str_flush + + It's Rubinius-specific and we use rb_str_resize + there anyways... + + commit 531106e51e519458d37bed3721da4eff2f163206 + Author: Eric Wong <normalperson@yhbt.net> + Date: Fri Jan 8 11:30:49 2010 -0800 + + no point in non-blocking for fd notifications + + It's not needed since the native thread will retry in the + unlikely case of EINTR/EAGAIN. And writing one byte to a pipe + that's guaranteed by POSIX to be at least 512 bytes is highly + unlikely. + + It's also bad because F_SETFL takes the big kernel lock under + Linux (and possibly other systems), and doing it unnecessarily + is a waste of system cycles. + + commit d03c76ae11ca6294e05262df747e4d43822ada73 + Author: Eric Wong <normalperson@yhbt.net> + Date: Fri Jan 8 11:25:06 2010 -0800 + + mode_t is usually unsigned + + Most used open modes are well under INT_MAX, however + + commit b3c31cf444e2ca3dae0f6d2370944bfbf3382d88 + Author: Eric Wong <normalperson@yhbt.net> + Date: Thu Jan 7 01:45:25 2010 -0800 + + add POSIX_MQ#shift helper method + + This acts like POSIX_MQ#receive but only returns the message + without the priority. + + commit 3700db51399e4949ed314ad0545d037b7762064e + Author: Eric Wong <normalperson@yhbt.net> + Date: Thu Jan 7 09:28:57 2010 +0000 + + POSIX_MQ#notify only works on GNU/Linux for now + + SIGEV_THREAD is not easy to implement, so many platforms + do not implement it. + + commit 40d61f55ac53e3cd2f229d0b032da03032e3d53d + Author: Eric Wong <normalperson@yhbt.net> + Date: Thu Jan 7 00:37:57 2010 -0800 + + POSIX_MQ#notify block execution on message received + + This is implementation uses both a short-lived POSIX thread and + a pre-spawned Ruby Thread in a manner that works properly under + both Ruby 1.8 (green threads) and 1.9 (where Ruby Threads are + POSIX threads). + + The short-lived POSIX thread will write a single "\0" byte to + a pipe the Ruby Thread waits on. This operation is atomic + on all platforms. Once the Ruby Thread is woken up from the + pipe, it will execute th block given to it. + + This dual-thread implementation is inspired by the way glibc + implements mq_notify(3) + SIGEV_THREAD under Linux where the + kernel itself cannot directly spawn POSIX threads. + + commit d8c8fb4155c1feea454abc3ed3f0a4b26e90be68 + Author: Eric Wong <normalperson@yhbt.net> + Date: Sun Jan 3 05:26:00 2010 +0000 + + fix warnings on platforms where mqd_t != int + + The POSIX manpages specify the return values of all + mq_* functions besides mq_open(3) to be "int", not "mqd_t". + + commit dbe5ed46e07b853e79e44141924a0166016e3e44 + Author: Eric Wong <normalperson@yhbt.net> + Date: Sat Jan 2 23:19:34 2010 -0800 + + bump GIT-VERSION-GEN + + Shouldn't affect most people since they should just + take code from git... + commit fd2fcdeee6b44f7854255cb7e01c81db3cd2d99c Author: Eric Wong <normalperson@yhbt.net> Date: Sun Jan 3 05:46:45 2010 +0000 posix_mq 0.2.0