0

私は msgsnd と msgrcv を使用していますが、受信する前にメッセージが送信されるのを待つ方法を知りたいですか?

すなわち

プロセス A は、プロセス B に自分の仕事をさせるようにセマフォに信号を送ります。

プロセス B がメッセージを送信し、

プロセス A がメッセージを受信します。

B がそれを送信するまでプロセス A に待機するように指示するものは何もないため、これは空のメッセージを出力するだけです。アプローチは何ですか? ありがとう

4

1 に答える 1

1

プロセス A が待機していない場合は、明らかにこのフラグを設定しています

IPC_NOWAIT要求されたタイプのメッセージがキューにない場合は、すぐに戻ります。システム コールはerrnoset toで失敗しますENOMSG

待機したい場合、または待機中に有用な作業を行いたい場合は、そのフラグを使用しないでください。確認errnoして後でもう一度呼び出してください。

于 2013-03-01T06:03:57.850 に答える