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_unlink() function shall remove the semaphore named by the string name.  If the semaphore named by
       name  is  currently referenced by other processes, then sem_unlink() shall have no effect on the state of
       the semaphore. If one or more processes have the semaphore open when sem_unlink() is called,  destruction
       of  the  semaphore  is  postponed  until  all references to the semaphore have been destroyed by calls to
       sem_close(), _exit(), or exec.  Calls to sem_open() to recreate or reconnect to the semaphore refer to  a
       new  semaphore  after  sem_unlink() is called. The sem_unlink() call shall not block until all references
       have been destroyed; it shall return immediately.

Errors

       The sem_unlink() function shall fail if:

       EACCES Permission is denied to unlink the named semaphore.

       ENOENT The named semaphore does not exist.

       The sem_unlink() function may fail if:

       ENAMETOOLONG
              The length of the name argument exceeds {_POSIX_PATH_MAX} on systems that do not support  the  XSI
              option  or  exceeds  {_XOPEN_PATH_MAX}  on XSI systems, or has a pathname component that is longer
              than  {_POSIX_NAME_MAX}  on  systems  that  do  not  support  the  XSI  option  or   longer   than
              {_XOPEN_NAME_MAX}  on  XSI systems.  A call to sem_unlink() with a name argument that contains the
              same semaphore name as was previously used in a successful  sem_open()  call  shall  not  give  an
              [ENAMETOOLONG] error.

       Thefollowingsectionsareinformative.

Examples

       None.

Future Directions

       A  future  version  might  require the sem_open() and sem_unlink() functions to have semantics similar to
       normal file system operations.

Name

       sem_unlink — remove 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, the sem_unlink() function shall return a value of 0. Otherwise, the semaphore
       shall not be changed and the function shall return a value of -1 and set errno to indicate the error.

See Also

semctl(), semget(), semop(), sem_close(), sem_open()

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

Synopsis

       #include <semaphore.h>

       int sem_unlink(const char *name);

See Also