A message queue permits the passing of messages among
tasks and ISRs. Message queues can contain a variable number of
messages. Normally messages are sent to and received from the
queue in FIFO order using the rtems.message_queue_send
directive. However, the rtems.message_queue_urgent
directive can be used to place
messages at the head of a queue in LIFO order.
Synchronization can be accomplished when a task can wait for a message to arrive at a queue. Also, a task may poll a queue for the arrival of a message.
The maximum length message which can be sent is set on a per message queue basis.
Copyright © 1988-2000 OAR Corporation