当前位置: 技术问答>linux和unix
linux下 消息队列 超有难度问题
来源: 互联网 发布时间:2016-06-19
本文导语: msgrcv ( MSG_QUEUE, &mbuf, recvLen, 5L, ~IPC_NOWAIT ); 正常情况下,在读取数据的时候是先读 msgtype=5的数据,结果现在成了除了读等于5以外的数据,msgtype=5的数据反倒读不出来了。 我想用 ~MSG_EXCEPT 这个选项强制一下,...
msgrcv ( MSG_QUEUE, &mbuf, recvLen, 5L, ~IPC_NOWAIT );
正常情况下,在读取数据的时候是先读 msgtype=5的数据,结果现在成了除了读等于5以外的数据,msgtype=5的数据反倒读不出来了。
我想用 ~MSG_EXCEPT 这个选项强制一下,但是这个却提示未定义,但是man里面有这个。。。很迷茫。
现在无法实现 消息队列的 后进先出的情况了,恳请高手解答
正常情况下,在读取数据的时候是先读 msgtype=5的数据,结果现在成了除了读等于5以外的数据,msgtype=5的数据反倒读不出来了。
我想用 ~MSG_EXCEPT 这个选项强制一下,但是这个却提示未定义,但是man里面有这个。。。很迷茫。
现在无法实现 消息队列的 后进先出的情况了,恳请高手解答
|
不明白你为什么要取反一下?
先试一下
msgrcv ( MSG_QUEUE, &mbuf, recvLen, 5L, 0 );
先试一下
msgrcv ( MSG_QUEUE, &mbuf, recvLen, 5L, 0 );