sem_getvalue()

Get the value of a named or unnamed semaphore

Synopsis:

#include <semaphore.h>

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

Arguments:

sem
A pointer to the sem_t object for the semaphore whose value you want to get.
value
A pointer to a location where the function can store the semaphore's value. A positive value (i.e. greater than zero) indicates an unlocked semaphore, and a value of 0 (zero) indicates a locked semaphore.

Library:

libc

Use the -l c option to qcc to link against this library. This library is usually included automatically.

Description:

The sem_getvalue() function takes a snapshot of the value of the semaphore, sem, and stores it in value. This value can change at any time, and is guaranteed valid only at some point in the sem_getvalue() call.

This function is provided for debugging semaphore code.

Returns:

0
Success.
-1
An error occurred (errno is set).

Errors:

EINVAL
Invalid semaphore descriptor sem.

Classification:

POSIX 1003.1 SEM

Safety:
Cancellation point No
Interrupt handler No
Signal handler Yes
Thread Yes

See also:

sem_destroy(), sem_init(), sem_trywait(), sem_wait()