我正在使用msgsnd和msgrcv,我想知道如何在接收之前等待消息发送?
即
进程A发出信号信号,让进程B做他自己的事情,
进程B发送消息
进程A接收消息。
这样做只是打印一条空信息,因为没有告诉进程A要等到B发送它,这是什么方法?感谢
答案 0 :(得分:1)
如果进程A没有等待,您显然正在设置此标志
IPC_NOWAIT
如果队列中没有所请求类型的消息,则立即返回。系统调用失败,errno
设置为ENOMSG
。
如果您想等待,或者如果您想在等待时做有用的工作,请不要使用该标志,请检查errno
并稍后再次致电。