我实质上是在尝试简单的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启动的。
答案 0 :(得分:0)
好,找出问题所在。
attr.mq_maxmsg = 10000;太大了。减少到10个就可以了。