sem_getvalue(3) [freebsd man page]
SEM_GETVALUE(3) BSD Library Functions Manual SEM_GETVALUE(3) NAME
sem_getvalue -- get the value of a semaphore LIBRARY
Standard C Library (libc, -lc) SYNOPSIS
#include <semaphore.h> int sem_getvalue(sem_t * restrict sem, int * restrict sval); DESCRIPTION
The sem_getvalue() function sets the variable pointed to by sval to the current value of the semaphore pointed to by sem, as of the time that the call to sem_getvalue() is actually run. RETURN VALUES
The sem_getvalue() function returns the value 0 if successful; otherwise the value -1 is returned and the global variable errno is set to indicate the error. ERRORS
The sem_getvalue() function will fail if: [EINVAL] The sem argument points to an invalid semaphore. SEE ALSO
sem_post(3), sem_trywait(3), sem_wait(3) STANDARDS
The sem_getvalue() function conforms to ISO/IEC 9945-1:1996 (``POSIX.1''). The value of the semaphore is never negative, even if there are threads blocked on the semaphore. POSIX is somewhat ambiguous in its wording with regard to what the value of the semaphore should be if there are blocked waiting threads, but this behavior is conformant, given the wording of the specification. BSD
February 15, 2000 BSD
Check Out this Related Man Page
SEM_GETVALUE(3) Linux Programmer's Manual SEM_GETVALUE(3) NAME
sem_getvalue - get the value of a semaphore SYNOPSIS
#include <semaphore.h> int sem_getvalue(sem_t *sem, int *sval); Link with -pthread. DESCRIPTION
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-2001 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. RETURN VALUE
sem_getvalue() returns 0 on success; on error, -1 is returned and errno is set to indicate the error. ERRORS
EINVAL sem is not a valid semaphore. CONFORMING TO
POSIX.1-2001. NOTES
The value of the semaphore may already have changed by the time sem_getvalue() returns. SEE ALSO
sem_post(3), sem_wait(3), sem_overview(7) COLOPHON
This page is part of release 3.53 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 2012-05-13 SEM_GETVALUE(3)