Provided by: manpages-ja-dev_0.5.0.0.20210215+dfsg-1_all bug

名前

       sem_getvalue - セマフォの値を取得する

書式

       #include <semaphore.h>

       int sem_getvalue(sem_t *sem, int *sval);

       -pthread とリンクする。

説明

       sem_getvalue()  は、 sem が指すセマフォの現在の値を sval で指す整数に格納する。

       POSIX.1-2001  によると、 1つ以上のプロセスかスレッドが sem_wait(3)  でセマフォのロック待ち
       で停止している場合、 sval  で返される値は  0  もしくは負の値のいずれかとなる。  負の値の場
       合、その絶対値は  sem_wait(3) で現在停止しているプロセスかスレッドの合計数に等しい。 Linux
       は前者の動作 (0 を返す動作) を採用している。

返り値

       成功すると、 sem_getvalue()  は 0 を返す。エラーの場合、-1 を返し、 errno にエラーを示す値
       をセットする。

エラー

       EINVAL sem は有効なセマフォではない。

属性

   マルチスレッディング (pthreads(7) 参照)
       sem_getvalue() 関数はスレッドセーフである。

準拠

       POSIX.1-2001.

注意

       sem_getvalue()  が返るときには、すでにセマフォの値は変化している可能性がある。

関連項目

       sem_post(3), sem_wait(3), sem_overview(7)

この文書について

       この  man ページは Linux man-pages プロジェクトのリリース 3.79 の一部 である。プロジェクト
       の説明とバグ報告に関する情報は http://www.kernel.org/doc/man-pages/ に書かれている。