备注

sem_getvalue()返回时,信号量的值可能已经更改。

另外参见

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

返回值

sem_getvalue()成功返回0;如果出现错误,则返回-1并将errno设置为指示错误。

属性

有关本节中使用的术语的说明,请参见attribute(7)。

InterfaceAttributeValue
sem_getvalue()Thread safetyMT-Safe

出版信息

这个页面是Linux手册页项目5.08版的一部分。有关项目的说明、有关报告错误的信息以及此页面的最新版本,请访问https://www.kernel.org/doc/man-pages/

语法

#include <semaphore.h>

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

与-pthread链接。

说明

sem_getvalue()将指向sem的信号量的当前值放入sval指向的整数。

如果阻塞了一个或多个进程或线程,等待通过sem_wait(3)锁定信号量,则POSIX.1允许sval返回的值有两种可能:返回0;否则返回0。或一个负数,其绝对值是sem_wait(3)中当前阻塞的进程和线程数的计数。 Linux采用以前的行为。

SEM_GETVALUE - Linux手册页

Linux程序员手册 第3部分
更新日期: 2020-06-09

名称

sem_getvalue-获取信号量的值

遵循规范

POSIX.1-2001,POSIX.1-2008。

错误说明

EINVAL
sem不是有效的信号量。 (glibc实现当前不检查sem是否有效。)
日期:2019-08-20 18:01:15 来源:oir作者:oir