OS_MSG_QTY OSTaskQFlush (OS_TCB *p_tcb,
OS_ERR *p_err)
File |
Called from |
Code enabled by |
---|---|---|
|
Task only |
|
OSTaskQFlush()
empties the contents of the task message queue and eliminates all messages sent to the queue. OS_MSGs
from the queue are simply returned to the free pool of OS_MSGs
.
Arguments
p_tcb
is a pointer to the TCB of the task that contains the queue to flush. Specifying a NULL
pointer tells OSTaskQFlush()
to flush the queue of the calling task’s built-in message queue.
p_err
is a pointer to a variable that will contain an error code returned by this function.
OS_ERR_NONE
If the message queue is flushed.
OS_ERR_FLUSH_ISR
If OS_CFG_CALLED_FROM_ISR_CHK_EN
set to 1
in os_cfg.h
: if calling this function from an ISR
Returned Value
The number of OS_MSG
entries freed from the message queue. Note that the OS_MSG
entries are returned to the free pool of OS_MSGs
.
Notes/Warnings
Example
or, to flush a queue that contains entries, instead you can use OSTaskQPend()
and specify the OS_OPT_PEND_NON_BLOCKING
option.