タグ

メッセージキューとposixに関するyukimori_726のブックマーク (2)

  • Posixメッセージキュー - s-kita’s blog

    Introductionメッセージキューは、メッセージのリンク構造と考えることが出来る 各メッセージはレコードであり、各メッセージには送信側が指定した優先度が付いている。 メッセージの書き込みに際しては、そのキューにおいて何らかのプロセスがメッセージの到着を待っていることが要求されない。(パイプと対照的) メッセージキューはパイプと異なり、カーネル持続性(kernel persistence)を持つ。(パイプ、FIFOでは、それらが最後にクローズされる際に、残っているデータは破棄される。) PosixメッセージキューとSystem V メッセージキューの違いPosixメッセージキューからの読み出しは、常に最も高い優先度の最も古いメッセージを返す。System V メッセージキューでは、任意の優先度のメッセージを読み出すことが出来る。 Posixメッセージキューでは、空のキューにメッセージが

    Posixメッセージキュー - s-kita’s blog
  • POSIX メッセージキュー リベンジ編 - debian36の日記

    前回:http://d.hatena.ne.jp/debian36/20080220/1203510497 ちょっと前に挑戦して、うまくいかなかったPOSIX メッセージキューを用いたIPCプログラミング。 いろいろ試した結果、前回の ERRNO 90 (ELOOP) の原因は、 mq_receive 時のバッファサイズ指定ミスのようでした。 SysVのMsgQだと、メッセージキューそのものの属性がどうであろうと、 そのときに(msgrcvコール時に)取得するメッセージ以上のサイズをmsgrcv()のlength引数に渡せばよかったのですが、 POSIXのMsgQの場合、実際に格納されているメッセージのサイズがどうであろうと、対象となるメッセージキューに格納されうる最大のサイズを mq_receive() のlen 引数に渡さなければいけないようです。 そのため、mq_receive()す

    POSIX メッセージキュー リベンジ編 - debian36の日記
  • 1