sem_getvalue.2 (2010 09)
s
sem_getvalue(2) sem_getvalue(2)
NAME
sem_getvalue - get the value of a POSIX semaphore
SYNOPSIS
#include <sys/semaphore.h>
int sem_getvalue(sem_t *sem, int *sval);
DESCRIPTION
sem_getvalue()
is used to read the value of the semaphore. The value of the semaphore specified by
sem is read, at some unspecified time during the call, and then stored into sval . If the semaphore value is
<= 0, at that time, the semaphore is considered unavailable. If the semaphore value is > 0, at that time,
the semaphore is considered available.
If sval is positive, it is equal to the number of locks available on the semaphore, at the time the sema-
phore value was read. If sval is negative, its absolute value is equal to the number of blocked threads
waiting for the semaphore to become available, at the time the semaphore value was read.
If the specified semaphore referred to by sem is a named semaphore, then this semaphore must have been
opened by the calling process with
sem_open() and the process must have read permission on this
semaphore.
To use this function, link in the realtime library by specifying
-lrt on the compiler or linker command
line.
EXAMPLES
The following call to
sem_getvalue()
will read the value of the semaphore sem and store it in sval .
sem_getvalue(sem,sval);
RETURN VALUE
A successful call to sem_getvalue()
will return 0. Otherwise, the call to sem_getvalue() will
return -1 with errno set to the appropriate value of the error condition.
ERRORS
sem_getvalue() fails and does not perform the requested operation if any of the following conditions
are encountered:
[EPERM] The calling process does not have the privileges necessary to read the semaphore.
[EINVAL] The argument sem does not refer to a valid semaphore.
SEE ALSO
sem_open(2), <semaphore.h>.
STANDARDS CONFORMANCE
sem_getvalue(): POSIX
HP-UX 11i Version 3: September 2010 − 1 − Hewlett-Packard Company 1