# Posix\_mq 0.3.0 - notify(&block) + 1.8.6 fix

**URL:** <https://www.ruby-forum.com/t/posix-mq-0-3-0-notify-block-1-8-6-fix/181333>\
**Category:** Ruby\
**Created:** [January 10, 2010, 12:22am UTC](https://www.ruby-forum.com/t/posix-mq-0-3-0-notify-block-1-8-6-fix/181333 "2010-01-10T00:22:21Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![ericw](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/e/97f17d/32.png) [@ericw](https://www.ruby-forum.com/u/ericw)\
**Post date:** [January 10, 2010, 12:22am UTC](https://www.ruby-forum.com/t/posix-mq-0-3-0-notify-block-1-8-6-fix/181333/1 "2010-01-10T00:22:21Z")

</div>

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.

- [posix\_mq - POSIX message queues for Ruby](http://bogomips.org/ruby_posix_mq/)
- removed\_email\_address@domain.invalid
- git://git.bogomips.org/ruby\_posix\_mq.git

Changes:

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: [class POSIX\_MQ](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.
