RedHawk Linux User's Guide version 6.3 æ¥æ¬èªç
RedHawk Linux User's Guide version 6.3 æ¥æ¬èªç
RedHawk Linux User's Guide version 6.3 æ¥æ¬èªç
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
<strong>RedHawk</strong> <strong>Linux</strong> User’s <strong>Guide</strong>semctlシステムコール5semctl(2)はセマフォ 集 合 の 制 御 操 作 を 実 行 するために 使 用 されます。本 セクションではsemctl システムコールを 説 明 します。さらに 詳 細 な 情 報 はsemctl(2)のmanページを 参 照 してください。この 呼 び 出 しの 使 用 を 説 明 しているプログラムは、README.semctl.txt 内 に 提 供 された 多 くのコメントと 共 に/usr/share/doc/ccur/examples/semctl.cで 見 つけることが 可 能 です。概 要#include #include #include int semctl (int semid, int semnum, int cmd, int arg);union semun{int val;struct semid_ds *buf;ushort *array;} arg;上 記 の 全 てのインクルードファイルは、オペレーティング・システムの/usr/includeサブディレクトリにあります。semid 変 数 はsemgetシステムコールを 使 って 作 成 された 有 効 な 負 ではない 整 数 値 でなければなりません。semnum 引 数 はその 数 でセマフォを 遥 択 するために 使 用 されます。これは 集 合 の(アトミックに 実行 される) 操 作 の 順 番 に 関 連連 します。セマフォの 集 合 が 作 成 される 時 、 最 初 のセマフォは 数 が0、最 後 のセマフォは 集 合 の 総 数 よりも1 小 さい 数 が 設 定 されます。cmd 引 数 は 以 下 の 値 のいずれかとなります。GETVALSETVALGETPIDGETNCNTGETZCNTGETALLSETALLセマフォ 集 合 内 の 単 一 のセマフォ 値 を 返 しますセマフォ 集 合 内 の 単 一 のセマフォ 値 を 設 定 しますセマフォ 集 合 内 のセマフォの 操 作 を 最 後 に 実 行 したプロセスのPIDを 返 します現 在 値 よりも 大 きくなるために 特 定 のセマフォの 値 を 待 っているプロセスの 数を 返 しますゼロになるために 特 定 のセマフォの 値 を 待 っているプロセスの 数 を 返 しますセマフォ 集 合 内 の 全 てのセマフォの 値 を 返 しますセマフォ 集 合 内 の 全 てのセマフォの 値 を 設 定 します5-34