How to block task forever with a Queue()?

Hi all, I want to block a task forever with xQueueReceive(…, … , SomethingLikeWAIT_FOREVER). Only data posted to the Queue should wake up the task. I do not want to change task priority. Is there a simpler method as checking the uxQueueMessagesWaiting() and when no data received calling the taskYIELD() ? Regards Paul

How to block task forever with a Queue()?

The normal way to do this is: while( !xQueueReceive( Queue, buffer, portMAX_DELAY ) ); When the delay exists because something has been received then the while loop will also exit. This topic has come up before.  It was a design decission not to have a WAIT_FOREVER to keep the RAM usage of the compiler to a minimum and the source code as small as possible.