Provided by: manpages-ja-dev_0.5.0.0.20221215+dfsg-1_all
名前
sem_post - セマフォのロックを解除する
書式
#include <semaphore.h> int sem_post(sem_t *sem); -pthread とリンクする。
説明
sem_post() は、 sem が指すセマフォの値を 1 増やす (ロックを解除する)。その結果、 セマフォ の値は 0 より大きな値に変化し、 sem_wait(3) で停止している別のプロセスやスレッドが呼び起 こされ、 セマフォをロックできるようになる。
返り値
成功すると、 sem_post() は 0 を返す。エラーの場合、セマフォの値は変更せずに、 -1 を返し、 errno にエラーを示す値をセットする。
エラー
EINVAL sem は有効なセマフォではない。 EOVERFLOW 一つのセマフォで使用できる最大値を超えてしまうところであった。
属性
この節で使用されている用語の説明については、 attributes(7) を参照。 ┌─────────────────┬───────────────┬─────────┐ │インターフェース │ 属性 │ 値 │ ├─────────────────┼───────────────┼─────────┤ │sem_post() │ Thread safety │ MT-Safe │ └─────────────────┴───────────────┴─────────┘
準拠
POSIX.1-2001.
注意
sem_post() は async-signal-safe である。 つまり、シグナルハンドラーの中でも安全に呼び出す ことができる。
例
sem_wait(3) と sem_open(3) を参照。
関連項目
sem_getvalue(3), sem_wait(3), sem_overview(7), signal-safety(7)
この文書について
この man ページは Linux man-pages プロジェクトのリリース 5.10 の一部である。プロジェクトの 説明とバグ報告に関する情報は https://www.kernel.org/doc/man-pages/ に書かれている。