mq_open给出无效的参数

时间:2019-07-19 16:24:01

标签: linux posix mqueue

我实质上是在尝试简单的mq创建。在我的gdb中,我执行以下命令:

(注意,我使用attr属性进行调用,因为我使用O_CREAT标志进行了调用。但是仍然出现错误)

attr.mq_flags = 0
attr.mq_maxmsg = 10000;
attr.mq_msgsize = 1000;
attr.mq_curmsgs = 0;

p mq_open("/name", O_RDONLY | O_CREAT, 0666, &attr)

Gives -1

p errno

Gives 22

现在22是无效的参数错误。上面的论点可能有什么问题?没有比这更简单的了。哦,GDB是用sudo启动的。

1 个答案:

答案 0 :(得分:0)

好,找出问题所在。

attr.mq_maxmsg = 10000;太大了。减少到10个就可以了。