为什么msgrcv()在errno = 7(E2BIG)时返回错误?

时间:2014-01-16 05:21:31

标签: c linux ipc

我已经构建了一个使用msgsnd and msgrcv的小示例,但有时msgrcv()会返回 E2BIG,我不确定为什么会这样,因为我通过的msgszmsgsnd()msgrcv()相同。

1 个答案:

答案 0 :(得分:2)

我没有意识到命名队列在运行之间是持久的,msgrcv()试图从以前运行的应用程序发布的队列中读取消息,该队列已经编译当时有更大的msgsz