Linux上可以使用POSIX消息队列吗?

我已经实现了一个POSIX消息队列。 在听众方面,我打开这样的队列:

mqdes = mq_open(s_mailbox_name.c_str(), O_RDONLY | O_CREAT, S_IRWXU | S_IRWXG | S_IRWXO, NULL);

在发件人方面,我打开这样的队列:

mqdes = mq_open(m_s_mailbox_name.c_str(), O_WRONLY);

这两个string是相同的,让我们称之为/foobox

现在,当我将发件人和收件人作为箱子上的同一个用户运行时,一切正常。 但是,如果发送者和接收者是两个不同的用户,则接收者不能打开队列。 我会认为这不会是一个问题,因为我打开上面的0777队列,所以每个人都可以RWX。

有什么明显的我做错了吗? 或者这是不可能的(请不要让它成为这个)

谢谢

检查umask

man mq_open :“权限设置被屏蔽进程umask”。