unsigned ctl_message_queue_post_multi(CTL_MESSAGE_QUEUE_t *q,
                                      unsigned n,
                                      void **messages,
                                      CTL_TIMEOUT_t t,
                                      CTL_TIME_t timeout);

ctl_message_queue_post_multi posts n messages to the message queue pointed to by q. The caller will block until the messages can be posted or, if timeoutType is non-zero, the current time reaches timeout value.

ctl_message_queue_post_multi returns the number of messages that were posted.


ctl_message_queue_post_multi must not be called from an interrupt service routine.

ctl_message_queue_post_multi function does not guarantee that the messages will be all be posted to the message queue atomically. If you have multiple tasks posting (multiple messages) to the same message queue then you may get unexpected results.