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

NAME

       sem_close - close a named semaphore (REALTIME)

SYNOPSIS

       #include <semaphore.h>

       int sem_close(sem_t *sem);

DESCRIPTION

       The  sem_close()  function  shall  indicate that the calling process is finished using the
       named semaphore indicated by sem. The  effects  of  calling  sem_close()  for  an  unnamed
       semaphore  (one  created  by  sem_init())  are  undefined.  The sem_close() function shall
       deallocate (that is, make available for reuse by a subsequent sem_open() by this  process)
       any  system  resources allocated by the system for use by this process for this semaphore.
       The effect of subsequent use of  the  semaphore  indicated  by  sem  by  this  process  is
       undefined.  If  the semaphore has not been removed with a successful call to sem_unlink(),
       then sem_close() has no effect on  the  state  of  the  semaphore.   If  the  sem_unlink()
       function  has  been successfully invoked for name after the most recent call to sem_open()
       with O_CREAT for this semaphore, then when all processes that have  opened  the  semaphore
       close it, the semaphore is no longer accessible.

RETURN VALUE

       Upon  successful  completion,  a value of zero shall be returned. Otherwise, a value of -1
       shall be returned and errno set to indicate the error.

ERRORS

       The sem_close() function shall fail if:

       EINVAL The sem argument is not a valid semaphore descriptor.

       The following sections are informative.

EXAMPLES

       None.

APPLICATION USAGE

       The sem_close() 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_init()  ,  sem_open()  , sem_unlink() , 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 .