TupleQueueReaderNext() always pass true for the nowait into shm_mq_receive() call. I think here it need to pass the nowait which is passed by the caller of TupleQueueReaderNext.
This is usefull if the caller want TupleQueueReaderNext() to wait
until it gets the tuple from the particular queue.