- /* This function should not be called by application code hence the \r
- 'Restricted' in its name. It is not part of the public API. It is designed\r
- for use by kernel code, and has special calling requirements - it should be\r
- called from a critical section, and then a yield performed after it is\r
- called. Also, the call tree makes use of vListInsert() which should normally\r
- not be called from a critical section - so an assumption is made that the list\r
- being inserted into is empty and therefore the insertion will be fast. */\r
-\r
- /* Only do anything if there are no message in the queue. */\r
+ /* This function should not be called by application code hence the\r
+ 'Restricted' in its name. It is not part of the public API. It is\r
+ designed for use by kernel code, and has special calling requirements.\r
+ It can result in vListInsert() being called on a list that can only\r
+ possibly ever have one item in it, so the list will be fast, but even\r
+ so it should be called with the scheduler locked and not from a critical\r
+ section. */\r
+\r
+ /* Only do anything if there are no messages in the queue. This function\r
+ will not actually cause the task to block, just place it on a blocked\r
+ list. It will not block until the scheduler is unlocked - at which\r
+ time a yield will be performed. If an item is added to the queue while\r
+ the queue is locked, and the calling task blocks on the queue, then the\r
+ calling task will be immediately unblocked when the queue is unlocked. */\r
+ prvLockQueue( pxQueue );\r