Suspending a task that is in suspended state due to portMAX_DELAY already

pugglewuggle wrote on Thursday, December 17, 2015:

If I have a task that is in suspended state due to xQueueReceive with portMAX_DELAY already and then I call vTaskSuspend on that task, will that prevent the the task from waking/running even if the queue has an item inserted into it? I just want to make sure I’m clear on this behaviour.

rtel wrote on Thursday, December 17, 2015:

Yes. When a task is in the Blocked state waiting for a message due to an infinite block time, although the internal implementation has the task in the Suspended list, it is still actually in the Blocked state, and as such can be unblocked by data on the queue. When the task is then Suspended, it moves to the real Suspended state, so will not unblock if data arrives on the queue.

pugglewuggle wrote on Thursday, December 17, 2015:

Great, thanks!