Middleware, development tools, realtime operating system
software and services for superior embedded design


Home
QNX Community Resources
QNX Documentation Library
mq

mq

QNX Software Systems
Developer Resources
Blogs
Board support packages
Foundry27 projects
Forums
Hardware support listing
Online video tutorials
Product documentation
Technical Articles

mq

Manage message queues (QNX Neutrino)


Note: You must be root to start this manager.

Syntax:

mq [options] &

Runs on:

Neutrino

Options:

-m num_msgs
Set the default for the maximum number of messages, for use if the mq_attr argument to mq_open() is NULL. The default is 64 messages.
-N path
Set the pathname of the directory for message queues. The default is /dev/mq.
-s size
Set the default message size, for use if the mq_attr argument to mq_open() is NULL. The default is 256 bytes.

Description:

The mq manager implements POSIX 1003.1b message queues. When you create a queue, it appears in the pathname space under /dev/mq.


Note: You can change this directory to union over the directory exported by the mqueue server by using the mq -N/dev/mqueue option, but we don't recommend this, because it may cause some user-namespace confusion.

This implementation uses the kernel's asynchronous messaging facility to buffer the messages within the kernel itself, and eliminates the context-switching overheads of using an external server (i.e. mqueue) in each message-queue operation, thus greatly improving the performance of POSIX message queues.

In order to use the mq implementation, you must link your application(s) against the libmq library. In a manual build, specify the -l mq option; in automatic/recursive builds, use this setting in your common.mk file:

LIBS += mq

For more information, see the Managing POSIX Message Queues technote.

See also:

mqueue, procnto*

Controlling How Neutrino Starts in the Neutrino User's Guide

Managing POSIX Message Queues technote