##### Synopsis

    #include <ctl_api.h>
    unsigned ctl_message_queue_post(CTL_MESSAGE_QUEUE_t *m,
                                    void *message,
                                    unsigned use_timeout,
                                    CTL_TIME_t timeout);

##### Description

The ctl_message_queue_post function posts the message to the message queue pointed at by m. If the message queue is full then the caller will block until the message can be posted or, if use_timeout is non-zero, the current time reaches the timeout value. This function returns zero if the timeout occured otherwise it returns one.

##### Restrictions

This function should not be called from an interrupt service routine.

##### Portability

ctl_message_queue_post is provided in every implementation of the CrossWorks tasking library.

##### See Also

Message queues