title: Can xQueueReceive fail when xTicksToWait = portMAX_DELAY?
body: <p>Let's imagine I have this kind of event loop :</p>
  <pre><code>MyType_t object;
  while(true) {
      xQueueReceive(QHandle, &amp;object, portMAX_DELAY);
      doSomething(object);
  }
  </code></pre>
  <p>The documentation (<a href="https://www.freertos.org/a00118.html" rel="nofollow noreferrer">https://www.freertos.org/a00118.html</a>) stipulates :</p>
  <blockquote>
  <p>If INCLUDE_vTaskSuspend is set to ‘1’ then specifying the block time
  as portMAX_DELAY will cause the task to block indefinitely (without a
  timeout).</p>
  </blockquote>
  <p>To me, this means that it will always wait until it can receive a value, which means it can never fail to receive a value, but I may be wrong.</p>
  <p>Is it necessary to check for <code>xQueueReceive</code> failure ? If it is, what are the failure modes ?</p>