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 .

IEEE/The Open Group                                   2003                                          SEM_CLOSE(P)