optimisaztion in xQueueSend and xQueueReceive

rtel wrote on Thursday, June 23, 2005:

This is the most complex part of the code.  Everything is geared at ensuring interrupts are disabled for the shortest possible period. 

You might be right in your comment - with the scheduler suspended unlocking the queue can only move items to the pending ready list - where they will be removed by xTaskResumeAll().

I know there was a lot of thought that went into this code sequence.  It was originally as per or similar to your suggestion.  This one will take a bit of digging time for me to find why the change was made.  It will be good to look again at this in detail.  Out of interest I will run a few black box style tests to see if they ever fail with the change.

In any case the optimisation saving would be minimal - with a couple of tests being removed.

Regards.