|This version of this document is no longer maintained. For the latest documentation, see http://www.qnx.com/developers/docs.|
Manage message queues (QNX Neutrino)
|You must be root to start this manager.|
mq [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.
The mq manager implements POSIX 1003.1b message queues. When you create a queue, it appears in the pathname space under /dev/mq.
|The /dev/mq directory doesn't appear until you actually
create a queue.
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.
Controlling How Neutrino Starts in the Neutrino User's Guide
Managing POSIX Message Queues technote