Linux mq_在空POSIX消息队列上接收调用的顺序取消阻止

Linux mq_在空POSIX消息队列上接收调用的顺序取消阻止,linux,posix,ipc,message-queue,Linux,Posix,Ipc,Message Queue,在创建没有O_NONBLOCK的消息队列时,如果队列是空的,则mq_receive()调用block。将新消息发送到队列时,等待的mq\u receive()调用中的哪一个实际解锁 QNX文档明确提到了FIFO顺序: 如果在单个队列上阻止了多个mq_receive()调用,则 当消息到达时,它们将按FIFO顺序解锁。 所有POSIX IPC实现都是这样吗?Linux实现做什么?手册页相当不具体: 如果队列为空,则默认情况下,mq_receive()阻塞,直到 消息变为可用,或呼叫被信号中断 处

在创建没有O_NONBLOCK的消息队列时,如果队列是空的,则
mq_receive()
调用block。将新消息发送到队列时,等待的
mq\u receive()
调用中的哪一个实际解锁

QNX文档明确提到了FIFO顺序:

如果在单个队列上阻止了多个
mq_receive()
调用,则 当消息到达时,它们将按FIFO顺序解锁。

所有POSIX IPC实现都是这样吗?Linux实现做什么?手册页相当不具体:

如果队列为空,则默认情况下,
mq_receive()
阻塞,直到 消息变为可用,或呼叫被信号中断 处理程序

在以下目录中找到:

如果消息到达空队列时有多个线程等待接收消息,并且支持优先级调度选项,则应选择等待时间最长的优先级最高的线程来接收消息。否则,未指定哪个等待线程接收消息

Linux手册页没有提到任何关于优先级调度规则的内容,但我不知道这是一个遗漏还是因为它没有实现该功能