Manpages

名 前

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/ に 書 か れ て い る 。