Files | Admin

Notes:

Release Name: 1.0.0

Notes:
posix_mq 1.0.0 - kinder, gentler message queues

POSIX message queues allow local processes to exchange data in the form
of messages.  This API is distinct from that provided by System V
message queues, but provides similar functionality.

* http://bogomips.org/ruby_posix_mq/
* ruby.posix.mq@librelist.com
* git://bogomips.org/ruby_posix_mq.git

Changes:

There is one backwards-incompatible API change:

  POSIX_MQ#send returns +true+ on success instead of +nil+
  for consistency with POSIX_MQ#trysend.

This release adds the POSIX_MQ#trysend, POSIX_MQ#tryreceive and
POSIX_MQ#tryshift interfaces to avoid exceptions on common
EAGAIN errors for users of non-blocking queues.

Bugfixes: non-blocking behavior changes to a shared descriptor
in a different process are reflected immediately in the child
(this won't fix race conditions in your code, however).
Minor bugfixes for posix-mq-rb(1) and quieted warnings for
1.9.3dev.



Changes: GIT-VERSION-GEN | 2 +- bin/posix-mq-rb | 12 +++++++----- ext/posix_mq/posix_mq.c | 32 +++++++++++++++----------------- lib/posix_mq.rb | 6 +++--- test/test_posix_mq.rb | 13 +++++++------ 5 files changed, 33 insertions(+), 32 deletions(-) commit 90b66d0a4390e7794247d43b49160a50a9028caa Author: Eric Wong Date: Tue Mar 1 09:07:05 2011 +0000 posix_mq 1.0.0 - kinder, gentler message queues There is one backwards-incompatible API change: POSIX_MQ#send returns +true+ on success instead of +nil+ for consistency with POSIX_MQ#trysend. This release adds the POSIX_MQ#trysend, POSIX_MQ#tryreceive and POSIX_MQ#tryshift interfaces to avoid exceptions on common EAGAIN errors for users of non-blocking queues. Bugfixes: non-blocking behavior changes to a shared descriptor in a different process are reflected immediately in the child (this won't fix race conditions in your code, however). Minor bugfixes for posix-mq-rb(1) and quieted warnings for 1.9.3dev. commit c44a8335b2f7ff60cf74730ac697a5e00829cc66 Author: Eric Wong Date: Tue Mar 1 08:57:16 2011 +0000 make methods that should be private, private So private we won't mention them in the commit message! commit c885c2d30b69925f6dd9f36e74c247e650db327b Author: Eric Wong Date: Tue Mar 1 08:52:34 2011 +0000 remove unused tryinit function Something I considered but decided wasn't worth doing. commit d64ac2686c3c1ff1eea4534100dca8fd73228a62 Author: Eric Wong Date: Tue Mar 1 08:51:28 2011 +0000 POSIX_MQ#send returns +true+ on success This is to be consistent with POSIX_MQ#trysend commit ae1acbcc32aef9efd23daed0611e2919aa0e5037 Author: Eric Wong Date: Tue Mar 1 08:40:44 2011 +0000 finalize try* interfaces Consider them good enough for a 1.0.0 release commit a589cb81d02ce77fa7c7a027328a2cf714878773 Author: Eric Wong Date: Sun Feb 27 11:43:28 2011 +0000 posix-mq-rb: always prefer write-in-full behavior In case somebody made the receiving pipe non-blocking, we want the command-line tool to succeed. commit 89c26cdaf25463c891a8ce915fefa1a181b3ac64 Author: Eric Wong Date: Sun Feb 27 11:40:40 2011 +0000 fix warnings and enable them for tests Cleaner code anyways. commit 5af56c9047dae680bde185c8a2b82de03b63e032 Author: Eric Wong Date: Sun Feb 27 11:37:23 2011 +0000 posix-mq-rb: use IO#binmode to get binary IOs Avoids warnings this way commit 316a435ff6c5b1bd9e0298aee096d16fb015405d Author: Eric Wong Date: Sun Feb 27 11:27:51 2011 +0000 doc: note that the try* interfaces are not final But they'll be pushed to the site for greater visibility.