Provided by: manpages-posix-dev_2.16-1_all bug

NAME

       sem_getvalue - get the value of a semaphore (REALTIME)

SYNOPSIS

       #include <semaphore.h>

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

DESCRIPTION

       The  sem_getvalue()  function shall update the location referenced by the sval argument 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, but it need not be the actual  value  of  the  semaphore
       when it is returned to the calling process.

       If sem is locked, then the object to which sval points shall either be set to zero or to a
       negative number whose absolute value represents the number of processes  waiting  for  the
       semaphore at some unspecified time during the call.

RETURN VALUE

       Upon  successful  completion,  the  sem_getvalue()  function shall return a value of zero.
       Otherwise, it shall return a value of -1 and set errno to indicate the error.

ERRORS

       The sem_getvalue() function shall fail if:

       EINVAL The sem argument does not refer to a valid semaphore.

       The following sections are informative.

EXAMPLES

       None.

APPLICATION USAGE

       The sem_getvalue() function is part of the Semaphores option and need not be available  on
       all implementations.

RATIONALE

       None.

FUTURE DIRECTIONS

       None.

SEE ALSO

       semctl()  , semget() , semop() , sem_post() , sem_timedwait() , sem_trywait() , sem_wait()
       , the Base Definitions volume of IEEE Std 1003.1-2001, <semaphore.h>

COPYRIGHT

       Portions of this text are reprinted and  reproduced  in  electronic  form  from  IEEE  Std
       1003.1,  2003  Edition,  Standard  for Information Technology -- Portable Operating System
       Interface (POSIX), The Open Group Base Specifications Issue 6, Copyright (C) 2001-2003  by
       the  Institute  of  Electrical  and  Electronics Engineers, Inc and The Open Group. In the
       event of any discrepancy between this version and the original IEEE  and  The  Open  Group
       Standard,  the  original  IEEE  and  The  Open Group Standard is the referee document. The
       original Standard can be obtained online at http://www.opengroup.org/unix/online.html .