総合手引 | セクション 3 | オプション |
#include <sys/types.h>
#include <sys/ipc.h>
#include <sys/msg.h>
long mtype; /* メッセージタイプ */ char mtext[1]; /* メッセージ本体 */
mtype は 0 より大きい整数で、メッセージの選択に使用されます ( msgrcv(3) 参照)。 mtext はバイトの配列で、システム制限 ( MSGMAX) までのサイズです。
メッセージキューにすでに存在するバイト数と msgsz の合計が、メッセージキューの最大バイト数 ( msg_qbytes 。 msgctl(3) 参照) より大きい場合、またはシステム全体のすべてのキューに存在する メッセージ数がシステム制限にすでに等しくなっている場合は、 msgflg が msgsnd() の動作を決めます。 msgflg で IPC_NOWAIT マスクが設定されている場合、呼び出しはすぐに戻されます。 msgflg で IPC_NOWAIT が設定されていない場合、呼出しは以下の状態になるまでブロックされます。
呼び出しで問題が発生しなかった場合、メッセージキューに関連する データ構造は以下のように更新されます。
[EINVAL] | |
msqid
が正しいメッセージキュー ID でない場合。
リソースが使用できるようになり、メッセージを送信できる 状態になることを msgsnd() が待っている間に、メッセージキューが削除された場合。 msgsz が 0 より小さいか、 msg_qbytes より大きい場合。 mtype が 0 より大きくない場合。 | |
[EACCES] | |
呼出しプロセスにメッセージキューの書込み権がない場合。 | |
[EAGAIN] | |
キューかシステム全体にメッセージ用のスペースがなく、 msgflg で IPC_NOWAIT が設定されている場合。 | |
[EFAULT] | |
msgp が正しいアドレスを指していない場合。 | |
[EINTR] | |
システムコールが、シグナルの配送によって割り込まれた場合。 | |
MSGSND (3) | November 24, 1997 |
総合手引 | セクション 3 | オプション |
このマニュアルページサービスについてのご意見は Ben Bullock にお知らせください。 Privacy policy.
“ | The last good thing written in C was Franz Schubert's Symphony #9. | ” |
— Erwin Dietrich |