## NAME

sem_getvalue - get the value of a semaphore

## SYNOPSIS

#include <semaphore.h>

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

Callable from ISR.

typedef struct {
  ...
} sem_t; /*opaque POSIX semaphore*/

## DESCRIPTION

sem_getvalue() updates the location referenced by sval to have the value of the semaphore referenced by sem without affecting the state of the semaphore. The updated value represents an actual semaphore value that occurred at some unspecified time during the call to sem_getvalue(), but may not be the actual value of the semaphore when sem_getvalue() is returned to the caller.

The value set in sval may be zero or positive. If sval is zero, there may be other threads waiting for the semaphore; if sval is positive, no one is waiting.

## RETURN VALUES

If successful, sem_getvalue() returns 0, otherwise, it returns -1, and sets errno to indicate the error condition.

## ERRORS

EINVAL
  sem does not refer to a valid semaphore.

## SEE ALSO

sem_post(), sem_wait()

#### Home page (Kernel)

## < Copyright Rowebots Research Inc. and Multiprocessor Toolsmiths Inc. 1987-2018 >