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 .