我构建了一个使用msgsnd and msgrcv的小示例,但有时msgrcv()
返回E2BIG
,我不知道为什么,因为我传递给msgsz
和msgsnd()
的是相同的msgrcv()
。
最佳答案
我没有意识到命名队列在两次运行之间是持久的,而且msgrcv()
试图读取我的应用程序以前运行时发布的队列中的消息,当时该队列是用一个更大的msgsz
编译的。
关于c - 为什么msgrcv()返回errno = 7(E2BIG)的错误?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21153925/