xQueueReceive : how to block with xTicksToWai

ch2 wrote on Tuesday, January 24, 2006:

I would like to block forever one task using xQueueReceive if it never received data in the queue : what should I put in xTicksToWait?

rtel wrote on Tuesday, January 24, 2006:

What you have to do is put the call to xQueueReceive into a loop as:

while( !xQUeueReceive( … ) );

using portMAX_DELAY as the delay period.  The while loop will then only exit when data is available.


ch2 wrote on Tuesday, January 24, 2006:

thanks for your quick & precise answer.
I have another question :
I receive data on the HDLC port from the STR710 and during the IRQ HDLC I’m storing this data one byte after another one int the queue. And I have one task which is waiking up when there is data in the queue : will this task wake up after the irq wrote 1 byte in the queue or at the end of the IRQ?