logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

This manual page is part of the POSIX Programmer's Manual. The Linux implementation of this interface

Application Usage

       None.

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 any threads in the calling process are currently blocked on the  semaphore,  the
       behavior  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.

Errors

       The sem_close() function may fail if:

       EINVAL The sem argument is not a valid semaphore descriptor.

       Thefollowingsectionsareinformative.

Examples

       None.

Future Directions

       None.

Name

       sem_close — close a named semaphore

Prolog

       This  manual  page  is part of the POSIX Programmer's Manual.  The Linux implementation of this interface
       may differ (consult the corresponding Linux manual page for details of Linux behavior), or the  interface
       may not be implemented on Linux.

Rationale

       None.

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.

See Also

semctl(), semget(), semop(), sem_init(), sem_open(), sem_unlink()

       The Base Definitions volume of POSIX.1‐2017, <semaphore.h>

Synopsis

       #include <semaphore.h>

       int sem_close(sem_t *sem);

See Also