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

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

プロセス 間 同 期The sem_waitルーチンルーチン5sem_wait(3)ライブラリ・ルーチンは 呼 び 出 し 元 プロセスが 名 前 なしカウンティング・セマフォをロックすることが 可 能 です。もしセマフォの 値 がゼロである 場 合 、セマフォは 既 にロックされています。この 場 合 、プロセスはシグナルもしくはセマフォがアンロックされるまでブロックします。もしセマフォの 値 がゼロより 大 きい 場 合 、プロセスはセマフォをロックし 続 けます。いずれにせよ、セマフォの 値 は 減 少 します。概 要#include int sem_wait(sem_t *sem);引 数 は 以 下 のように 定 義 されます:semロックする 名 前 なしカウンティング・セマフォへのポインタThe sem_timedwaitルーチンルーチン5戻 り 値 0はプロセスが 指 定 したセマフォのロックに 成 功 したことを 示 します。 戻 り 値 -1はエラーが発 生 したことを 示 し、errnoはエラーを 示 すために 設 定 されます。 発 生 する 可 能 性 のあるエラーのタイプのリストについてはsem_wait(3)のmanページを 参 照 してください。sem_timedwait(3)ライブラリ・ルーチンは 呼 び 出 し 元 プロセスが 名 前 なしカウンティング・セマフォをロックすることが 可 能 ですが、もしsem_postを 介 してアンロックする 他 のプロセスもしくはスレッドを 待 つことなしにセマフォがロックできない 場 合 、 指 定 されたタイムアウトの 期 限が 切 れた 時 に 待 機 は 終 了 します。概 要#include #include int sem_timedwait(sem_t *sem, const struct timespec *ts);引 数 は 以 下 のように 定 義 されます:semtsロックする 名 前 なしカウンティング・セマフォへのポインタ待 機 が 終 了 する 単 一 時 間 を 秒 とナノ 秒 で 指 定 したに 定 義 されているtimespec 構 造造 体 へのポインタ例 :ts.tv_sec = (NULL)+2ts.tv_nsec = 02 秒 のタイムアウトを 設 定 。POSIX 時 間 構 造造 体 に 関 する 詳 細 な 情 報 については、6 章 の「POSIX 時 間 構 造造 体 の 理 解 」を 参 照 してください。戻 り 値 0はプロセスが 指 定 したセマフォのロックに 成 功 したことを 示 します。 戻 り 値 -1はエラーが発 生 したことを 示 し、errno はエラーを 示 すために 設 定 されます。 発 生 する 可 能 性 のあるエラーのタイプのリストについてはsem_wait(3)のmanページを 参 照 してください。5-19

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

Saved successfully!

Ooh no, something went wrong!