0

我正在使用 msgsnd 和 msgrcv,我想知道如何在接收之前等待消息发送?

IE

进程 A 发出信号量让进程 B 做他的事情,

进程 B 发送消息,

进程 A 收到消息。

这只是打印一条空消息,因为没有告诉进程 A 等到 B 发送它,方法是什么?谢谢

4

1 回答 1

1

如果进程 A 没有等待,您显然是在设置此标志

IPC_NOWAIT如果队列中没有请求类型的消息,则立即返回。系统调用失败并errno设置为ENOMSG

如果您想等待,或者如果您想在等待时做有用的工作,请不要使用该标志,请errno稍后检查并再次调用。

于 2013-03-01T06:03:57.850 回答