sem_postのヘルプ・マニュアル
日本語 英語
sem_post --help
man sem_post
SEM_POST(3) Linux Programmer’s Manual SEM_POST(3)
名前
sem_post - セマフォのロックを解除する
書式
#include
int sem_post(sem_t *sem);
-lrt または -pthread でリンクする。
説明
sem_post() は、 sem が指すセマフォの値を 1 増やす (ロックを解除する)。
その結果、セマフォの値は 0 より大きな値に変化し、 sem_wait(3) で停止 し
て いる別のプロセスやスレッドが呼び起こされ、セマフォをロックできるよう
になる。
返り値
成功すると、 sem_post() は 0 を返す。エラーの場合、セマフォの値は変更せ
ずに、 -1 を返し、 errno にエラーを示す値をセットする。
エラー
EINVAL sem は有効なセマフォではない。
準拠
POSIX.1-2001.
注意
sem_post() は async-signal-safe である。つまり、シグナルハンドラの中で
も安全に呼び出すことができる。
例
sem_wait(3) 参照。
関連項目
sem_getvalue(3), sem_wait(3), sem_overview(7)
Linux 2008-05-29 SEM_POST(3)
SEM_POST(3) Linux Programmer’s Manual SEM_POST(3)
NAME
sem_post - unlock a semaphore
SYNOPSIS
#include
int sem_post(sem_t *sem);
Link with -lrt or -pthread.
DESCRIPTION
sem_post() increments (unlocks) the semaphore pointed to by sem. If
the semaphore’s value consequently becomes greater than zero, then
another process or thread blocked in a sem_wait(3) call will be woken
up and proceed to lock the semaphore.
RETURN VALUE
sem_post() returns 0 on success; on error, the value of the semaphore
is left unchanged, -1 is returned, and errno is set to indicate the
error.
ERRORS
EINVAL sem is not a valid semaphore.
EOVERFLOW
The maximum allowable value for a semaphore would be exceeded.
CONFORMING TO
POSIX.1-2001.
NOTES
sem_post() is async-signal-safe: it may be safely called within a sig-
nal handler.
EXAMPLE
See sem_wait(3).
SEE ALSO
sem_getvalue(3), sem_wait(3), sem_overview(7)
COLOPHON
This page is part of release 3.22 of the Linux man-pages project. A
description of the project, and information about reporting bugs, can
be found at http://www.kernel.org/doc/man-pages/.
Linux 2009-03-30 SEM_POST(3)