Is POSIX message queue implimentation correct?

Phil Torre ptorre at
Thu May 10 21:28:16 UTC 2001

On Thu, May 10, 2001 at 02:59:36PM -0500, Joel Sherrill wrote:
> Without some serious re-reading, I don't want to comment.  Your
> interpretation is certainly reasonable and the one-process nature
> of RTEMS could make it a valid but not as useful as possible
> implementation.  If each open gets some secondary structure, then
> it would be possible to do this.  Offhand, I don't know how much work 
> would be required to change this.

Thanks for that link, Joel.  The Unix98 spec has some sort of confusing
statements about queues being able to be opened multiple times in the
same or different processes, doesn't explicitly state what the scope
of the blocking attribute is (that I can see).  I did dig up some
documentation on the 1003.1b implementation for Digital UNIX (AKA OSF-1)
which states clearly that blocking is an attribute of the descriptor,
and that all threads within a process share the same descriptor. 
So, RTEMS is doing it right by pretending to be one big process.

I don't know how much work it would be to make the descriptors be per-
thread objects, but beyond that I'm not sure it's the right thing to
do (in that the current behavior is correct given the RTEMS process


Phil Torre                               phone: 425-820-6363 x234
Design Engineer                          email: ptorre at
Switching Systems Group                    fax: 425-820-7031
Zetron, Inc.                               web:

More information about the users mailing list