Task Priority and Blocking on Queues

I’m trying to verify something: the manual seems to be silent on this, or else the assumption is baked into FreeRTOS.

When two tasks go to add an item to a full common queue, will the higher priority always win when the queue becomes not full (by one item), or is this the luck of the draw?

Likewise when two tasks try to receive from a common empty queue, will the higher priority task always win when one data item becomes available?

Everything in FreeRTOS is priority based. If there is more than one task blocked on a queue waiting for data to arrive then it will always be the highest priority
of the waiting tasks that is unblocked first. If the tasks have equal priority then it will be the task that entered the blocked state first that is unblocked first (the task that has been waiting the longest). I think this is described in the free to download
book.

Excellent, that is what I had hoped. Thanks.