NAME | LIBRARY | SYNOPSIS | DESCRIPTION | RETURN VALUE | ERRORS | ATTRIBUTES | STANDARDS | HISTORY | NOTES | SEE ALSO | COLOPHON
sem_getvalue(3) Library Functions Manual sem_getvalue(3)
sem_getvalue - get the value of a semaphore
POSIX threads library (libpthread, -lpthread)
#include <semaphore.h> int sem_getvalue(sem_t *restrict sem, int *restrict sval);
sem_getvalue() places the current value of the semaphore pointed to sem into the integer pointed to by sval. If one or more processes or threads are blocked waiting to lock the semaphore with sem_wait(3), POSIX.1 permits two possibilities for the value returned in sval: either 0 is returned; or a negative number whose absolute value is the count of the number of processes and threads currently blocked in sem_wait(3). Linux adopts the former behavior.
sem_getvalue() returns 0 on success; on error, -1 is returned and errno is set to indicate the error.
EINVAL sem is not a valid semaphore. (The glibc implementation currently does not check whether sem is valid.)
For an explanation of the terms used in this section, see attributes(7). ┌──────────────────────────────────────┬───────────────┬─────────┐ │ Interface │ Attribute │ Value │ ├──────────────────────────────────────┼───────────────┼─────────┤ │ sem_getvalue() │ Thread safety │ MT-Safe │ └──────────────────────────────────────┴───────────────┴─────────┘
POSIX.1-2008.
POSIX.1-2001.
The value of the semaphore may already have changed by the time sem_getvalue() returns.
sem_post(3), sem_wait(3), sem_overview(7)
This page is part of the man-pages (Linux kernel and C library user-space interface documentation) project. Information about the project can be found at ⟨https://www.kernel.org/doc/man-pages/⟩. If you have a bug report for this manual page, see ⟨https://git.kernel.org/pub/scm/docs/man-pages/man-pages.git/tree/CONTRIBUTING⟩. This page was obtained from the tarball man-pages-6.10.tar.gz fetched from ⟨https://mirrors.edge.kernel.org/pub/linux/docs/man-pages/⟩ on 2025年02月02日. If you discover any rendering problems in this HTML version of the page, or you believe there is a better or more up- to-date source for the page, or you have corrections or improvements to the information in this COLOPHON (which is not part of the original manual page), send a mail to man-pages@man7.org Linux man-pages 6.10 2024年07月23日 sem_getvalue(3)
Pages that refer to this page: sem_close(3), sem_open(3), sem_post(3), sem_unlink(3), sem_wait(3), sem_overview(7)
HTML rendering created 2025年02月02日 by Michael Kerrisk, author of The Linux Programming Interface.
For details of in-depth Linux/UNIX system programming training courses that I teach, look here.
Hosting by jambit GmbH.
Cover of TLPI