clear a queue "vQueueClear(xQueueH...

clavrg wrote on Monday, January 24, 2011:

I am looking for a way to clear a queue.
QueueReceive works, but it is not efficient (every receive operation takes/releases locks, and checks the queue).

I need something like QueueClear() function. Is there one?

rtel wrote on Monday, January 24, 2011:

There is no specific API function for this at the moment, but it should be easy enough to implement.  Its just a matter of setting the number of items in the queue to 0.  However, you have to consider what happens to tasks that are blocked on the queue at the time the queue is cleared.  If they are blocked waiting to send, then they should be unblocked.  If they are blocked waiting to receive (unlikely if there were items in the queue, but possible if a higher priority task was unblocked when items become available) then you can just leave them as they are.

Please enter a feature request in the SourceForge feature request tracker.

Regards.