12.07.2015 Views

RedHawk Linux User's Guide version 6.3 日本語版

RedHawk Linux User's Guide version 6.3 日本語版

RedHawk Linux User's Guide version 6.3 日本語版

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

リアルタイム・プロセス 間 通 信msggetシステムコールシステムコール3msgget(2)は 新 しいメッセージ・キューを 作 成 または 既 存 のメッセージ・キューを 取 得 します。本 セクションではmsggetシステムコールを 説 明 します。より 詳 細 な 情 報 はmsgget(2)のmanページを 参 照 してください。この 呼 び 出 しの 使 用 を 説 明 しているプログラムは、README.msgget.txt内 に 提 供 された 多 数 のコメントと 共 に/usr/share/doc/ccur/examples/msgget.cで 見 つけることが 可 能 です。概 要#include #include #include int msgget (key_t key, int msgflg);上 記 の 全 てのインクルードファイルは、オペレーティング・システムの/usr/includeサブディレクトリにあります。key_t はヘッダーファイルの 中 で 整 数 型 にするためにtypedefによって 定 義 されています(このヘッダーファイルは 内 部邪 に 含 まれています)。 正 常 終 了 した 場 合にこの 機 能 から 返 される 整 数 はユニークなメッセージ・キュー 識 別 子 msqid です(msqid は 本 章 の「メッセージの 利 用 」セクション 内 で 説 明 されています)。 失 敗 した 場 合 、 外 部邪 変 数 errnoに 失 敗の 理 由 を 知 らせる 値 が 設 定 され、-1が 返 されます。メッセージ・キューとデータ 構 造造 体 に 対 応 する 新 しいmsqid は 以 下 の 条 件 に1つでも 該 当 する 場 合に 作 成 されます。• key がIPC_PRIVATE• メッセージ・キューとデータ 構 造造 体 に 対 応 するmsqid が 存 在 しないkey、かつmsgflgとIPC_CREATの 論 理 積 がゼロではないmsgflg 値 の 組 み 合 わせ:• 制 御 コマンド (フラグ)• 操 作 パーミッション制 御 コマンドはあらかじめ 定 義 された 定 数 です。 以 下 の 制 御 コマンドはmsggetシステムコールに 適遚 用 され、ヘッダーファイル 内 部邪 に 含 まれるヘッダーファイル 内 に 定義 されています。IPC_CREATIPC_EXCL新 しいセグメントを 作 成 するために 使 用 されます。もし 使 用 されない場 合 、msggetはkey に 対 応 するメッセージ・キューの 検 出 、アクセス 許 可 の 確 認 、セグメントに 破 棄 マークがないことを 確 認 します。IPC_CREATと 一 緒 の 使 用 は、 指 定 されたkey に 対 応 するメッセージ・キュー 識 別 子 が 既 に 存 在 している 場 合 、このシステムコールはエラーを 引 き 起 こします。これは 新 しい(ユニークな) 識 別 子 を 受 け 取 らなかった 時 に 受 け 取 ったと 考 えてしまうことからプロセスを 守 るために 必 要 です。操 作 パーミッションは、 対 応 するメッセージ・キュー 上 で 実 行 することを 許 可 されたプロセスの操 作 を 決 定 します。「 読 み 取 り」 許 可 はメッセージを 受 信 するため、またはmsgctlのIPC_STAT3-7

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!